scratchpad-py


Namescratchpad-py JSON
Version 0.0.6 PyPI version JSON
download
home_pagehttps://github.com/chirichidi/scratch-pad-py
Summarypython logger libary
upload_time2023-06-13 12:06:24
maintainer
docs_urlNone
authorchirichidi
requires_python>=3.7
license
keywords logger
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # scratch-pad-py

## Projects that have been ported below.
https://github.com/polonaiz/scratch-pad


mind blowing python toolset. why not pr?


# Spec

Loggers: composite, console, file, fluent, jandi, line, memory, null, scribe, telegram, slack



# Logger interface
```
from .logger_interface import LoggerInterface

class Logger(LoggerInterface):
    logger: LoggerInterface = None

    @classmethod
    def setLogger(cls, logger: LoggerInterface):
        cls.logger = logger

    @classmethod
    def getLogger(cls) -> LoggerInterface:
        return cls.logger

    @classmethod
    def info(cls, message: dict, option: dict = {}):
        cls.logger.info(message, option)

    @classmethod
    def notice(cls, message: dict, option: dict = {}):
        cls.logger.notice(message, option)

    @classmethod
    def warning(cls, message: dict, option: dict = {}):
        cls.logger.warning(message, option)

    @classmethod
    def error(cls, message: dict, option: dict = {}):
        cls.logger.error(message, option)

    @classmethod
    def critical(cls, message: dict, option: dict = {}):
        cls.logger.critical(message, option)
```



# Usage
FileLogger
```
filePath = "/tmp/scratch-pad-python.log"
logger = FileLogger(
    config={
        "filePath": filePath,
        "truncate": True
    }
)
message = {
    "type": "file",
    "message": "hello world"
}
logger.info(message)
```
CompositeLogger
```
consoleLogger = ConsoleLogger(
        config={
        "appendNewLine": 1
    }
)
memoryLogger = MemoryLogger()
memoryLoggerCompositeFilter = CompositeLogger.getSelectorLevel(["info", "error"])

message = {
    "type": "composite",
    "message": "hello world"
}

compositLogger = CompositeLogger(
    config={
        "defaults": {
            "datetime": lambda: datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
            "program": "scratch-pad-python",
        },
        "loggerFilterPairs": [
            {
                "logger": consoleLogger,
                "filter": None
            },
            {
                "logger": memoryLogger,
                "filter": memoryLoggerCompositeFilter
            }
        ],
    }
)

compositLogger.info(message)
```

JandiLogger
```
url = "url"
logger = JandiLogger(
    url=url
)

message = {
    "type": "jandi",
    "message": "hello world"
}

logger.info(message)
```

TelegramLogger
```
token = "telegram"
chat_id = 1234

message = {
    "type": "telegram",
    "message": "hello world",
}

logger = TelegramLogger(
    chat_id=chat_id,
    token=token,
)

logger.info(message)
```

FluentLogger
```
logger = FluentLogger()
message = {
        "type": "fluent",
        "message": "hello world"
    }

logger.info(message)
```

SlackLogger
```
url = "url"
logger = SlackLogger(url=url)
message = {
    "type": "slack",
    "message": "hello world"
}

logger.info(message)
```

#
stuff) 


scribe-docker for ScribeLogger : https://hub.docker.com/r/polonaiz/facebook-scribe


fluent-docker for FluentLogger : https://github.com/chirichidi/fluent-docker/tree/main

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/chirichidi/scratch-pad-py",
    "name": "scratchpad-py",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "logger",
    "author": "chirichidi",
    "author_email": "tolessnoise@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/4c/73/29e6312273b38d41bc81c9f40ebadcb5b0eaca4f45e0c57f6990aa7c711c/scratchpad-py-0.0.6.tar.gz",
    "platform": null,
    "description": "# scratch-pad-py\n\n## Projects that have been ported below.\nhttps://github.com/polonaiz/scratch-pad\n\n\nmind blowing python toolset. why not pr?\n\n\n# Spec\n\nLoggers: composite, console, file, fluent, jandi, line, memory, null, scribe, telegram, slack\n\n\n\n# Logger interface\n```\nfrom .logger_interface import LoggerInterface\n\nclass Logger(LoggerInterface):\n    logger: LoggerInterface = None\n\n    @classmethod\n    def setLogger(cls, logger: LoggerInterface):\n        cls.logger = logger\n\n    @classmethod\n    def getLogger(cls) -> LoggerInterface:\n        return cls.logger\n\n    @classmethod\n    def info(cls, message: dict, option: dict = {}):\n        cls.logger.info(message, option)\n\n    @classmethod\n    def notice(cls, message: dict, option: dict = {}):\n        cls.logger.notice(message, option)\n\n    @classmethod\n    def warning(cls, message: dict, option: dict = {}):\n        cls.logger.warning(message, option)\n\n    @classmethod\n    def error(cls, message: dict, option: dict = {}):\n        cls.logger.error(message, option)\n\n    @classmethod\n    def critical(cls, message: dict, option: dict = {}):\n        cls.logger.critical(message, option)\n```\n\n\n\n# Usage\nFileLogger\n```\nfilePath = \"/tmp/scratch-pad-python.log\"\nlogger = FileLogger(\n    config={\n        \"filePath\": filePath,\n        \"truncate\": True\n    }\n)\nmessage = {\n    \"type\": \"file\",\n    \"message\": \"hello world\"\n}\nlogger.info(message)\n```\nCompositeLogger\n```\nconsoleLogger = ConsoleLogger(\n        config={\n        \"appendNewLine\": 1\n    }\n)\nmemoryLogger = MemoryLogger()\nmemoryLoggerCompositeFilter = CompositeLogger.getSelectorLevel([\"info\", \"error\"])\n\nmessage = {\n    \"type\": \"composite\",\n    \"message\": \"hello world\"\n}\n\ncompositLogger = CompositeLogger(\n    config={\n        \"defaults\": {\n            \"datetime\": lambda: datetime.now().strftime(\"%Y-%m-%d %H:%M:%S\"),\n            \"program\": \"scratch-pad-python\",\n        },\n        \"loggerFilterPairs\": [\n            {\n                \"logger\": consoleLogger,\n                \"filter\": None\n            },\n            {\n                \"logger\": memoryLogger,\n                \"filter\": memoryLoggerCompositeFilter\n            }\n        ],\n    }\n)\n\ncompositLogger.info(message)\n```\n\nJandiLogger\n```\nurl = \"url\"\nlogger = JandiLogger(\n    url=url\n)\n\nmessage = {\n    \"type\": \"jandi\",\n    \"message\": \"hello world\"\n}\n\nlogger.info(message)\n```\n\nTelegramLogger\n```\ntoken = \"telegram\"\nchat_id = 1234\n\nmessage = {\n    \"type\": \"telegram\",\n    \"message\": \"hello world\",\n}\n\nlogger = TelegramLogger(\n    chat_id=chat_id,\n    token=token,\n)\n\nlogger.info(message)\n```\n\nFluentLogger\n```\nlogger = FluentLogger()\nmessage = {\n        \"type\": \"fluent\",\n        \"message\": \"hello world\"\n    }\n\nlogger.info(message)\n```\n\nSlackLogger\n```\nurl = \"url\"\nlogger = SlackLogger(url=url)\nmessage = {\n    \"type\": \"slack\",\n    \"message\": \"hello world\"\n}\n\nlogger.info(message)\n```\n\n#\nstuff) \n\n\nscribe-docker for ScribeLogger : https://hub.docker.com/r/polonaiz/facebook-scribe\n\n\nfluent-docker for FluentLogger : https://github.com/chirichidi/fluent-docker/tree/main\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "python logger libary",
    "version": "0.0.6",
    "project_urls": {
        "Homepage": "https://github.com/chirichidi/scratch-pad-py"
    },
    "split_keywords": [
        "logger"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8c84736944f765a5b418633062141af38c3beff3bd459ea320f72c2e24590c1",
                "md5": "dddd6c512df96039e881a1a9e2a60026",
                "sha256": "bc936bebd83c066130e86f9d9cdcd1169f0c4f8c79ae66f5558be36e36f7ae92"
            },
            "downloads": -1,
            "filename": "scratchpad_py-0.0.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dddd6c512df96039e881a1a9e2a60026",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 11782,
            "upload_time": "2023-06-13T12:06:21",
            "upload_time_iso_8601": "2023-06-13T12:06:21.175302Z",
            "url": "https://files.pythonhosted.org/packages/c8/c8/4736944f765a5b418633062141af38c3beff3bd459ea320f72c2e24590c1/scratchpad_py-0.0.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c7329e6312273b38d41bc81c9f40ebadcb5b0eaca4f45e0c57f6990aa7c711c",
                "md5": "f26f0ce8d2380f94923b11e31bdb3944",
                "sha256": "bbe58d3f7b7dfbdeae6b4beeda0c2d801aa6427c11640bf28a83579de19a3db9"
            },
            "downloads": -1,
            "filename": "scratchpad-py-0.0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "f26f0ce8d2380f94923b11e31bdb3944",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 7131,
            "upload_time": "2023-06-13T12:06:24",
            "upload_time_iso_8601": "2023-06-13T12:06:24.928187Z",
            "url": "https://files.pythonhosted.org/packages/4c/73/29e6312273b38d41bc81c9f40ebadcb5b0eaca4f45e0c57f6990aa7c711c/scratchpad-py-0.0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-13 12:06:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "chirichidi",
    "github_project": "scratch-pad-py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "scratchpad-py"
}
        
Elapsed time: 0.17010s