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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbe58d3f7b7dfbdeae6b4beeda0c2d801aa6427c11640bf28a83579de19a3db9 |
|
MD5 | f26f0ce8d2380f94923b11e31bdb3944 |
|
BLAKE2b-256 | 4c7329e6312273b38d41bc81c9f40ebadcb5b0eaca4f45e0c57f6990aa7c711c |
File details
Details for the file scratchpad_py-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: scratchpad_py-0.0.6-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc936bebd83c066130e86f9d9cdcd1169f0c4f8c79ae66f5558be36e36f7ae92 |
|
MD5 | dddd6c512df96039e881a1a9e2a60026 |
|
BLAKE2b-256 | c8c84736944f765a5b418633062141af38c3beff3bd459ea320f72c2e24590c1 |