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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scratchpad_py-0.0.7.tar.gz.
File metadata
- Download URL: scratchpad_py-0.0.7.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ae4bdd9b880309dbecca47164256fad28590f3d8b010922702bf8397375da34
|
|
| MD5 |
877b5587df086a792a72940d0e728987
|
|
| BLAKE2b-256 |
a751191cc8f606ea292cf2eabe2c6263b8597dd6b8f4043aa7392887b253f942
|
File details
Details for the file scratchpad_py-0.0.7-py3-none-any.whl.
File metadata
- Download URL: scratchpad_py-0.0.7-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42acffa51c0d96ce51f191cedb2e818b711bf364f9423409c9cf81ec04276119
|
|
| MD5 |
362fa39222cdb0b757aff80162dff942
|
|
| BLAKE2b-256 |
2584a113fa47a2e5ced2329360d98cb696655016b3163de4615dcb89f5393630
|