Skip to main content

python logger libary

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scratchpad-py-0.0.6.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

scratchpad_py-0.0.6-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file scratchpad-py-0.0.6.tar.gz.

File metadata

  • Download URL: scratchpad-py-0.0.6.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for scratchpad-py-0.0.6.tar.gz
Algorithm Hash digest
SHA256 bbe58d3f7b7dfbdeae6b4beeda0c2d801aa6427c11640bf28a83579de19a3db9
MD5 f26f0ce8d2380f94923b11e31bdb3944
BLAKE2b-256 4c7329e6312273b38d41bc81c9f40ebadcb5b0eaca4f45e0c57f6990aa7c711c

See more details on using hashes here.

File details

Details for the file scratchpad_py-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for scratchpad_py-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bc936bebd83c066130e86f9d9cdcd1169f0c4f8c79ae66f5558be36e36f7ae92
MD5 dddd6c512df96039e881a1a9e2a60026
BLAKE2b-256 c8c84736944f765a5b418633062141af38c3beff3bd459ea320f72c2e24590c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page