A flexible logging framework with JSON, file, and SMTP logging
Project description
Loggerizer Logger Examples
This document demonstrates how to use individual loggers from Loggerizer separately without wrapping them in a main function.
Console Logger
from loggerizer.loggers import LoggerFactory
from loggerizer.enums import LogField
console_logger = LoggerFactory.console_logger(name="console_main", flat=True)
console.info("Console logger ready!")
Console JSON Logger
from loggerizer.loggers import LoggerFactory
from loggerizer.enums import LogField
console_json_logger = LoggerFactory.json_console_logger(
name="console_json_main",
extra_fields=[LogField.MODULE, LogField.THREAD_NAME, LogField.PROCESS],
)
console_json.info("Console JSON logger ready!")
File Logger
from loggerizer.loggers import LoggerFactory
from loggerizer.enums import LogField
file_log = LoggerFactory.file_logger(
name="file_main",
filename="app",
extra_fields=[LogField.MODULE, LogField.LINE_NO, LogField.FUNC_NAME],
flat=True,
)
file_log.warning("File logger writing to app.log")
JSON File Logger
from loggerizer.loggers import LoggerFactory
from loggerizer.enums import LogField
json_log = LoggerFactory.json_file_logger(
name="json_file_main",
filename="events",
extra_fields=[LogField.MODULE, LogField.THREAD_NAME, LogField.PROCESS],
)
json_log.debug("JSON log entry")
Timed Rotating Logger
from loggerizer.loggers import LoggerFactory
from loggerizer.enums import LogField
timed = LoggerFactory.timed_rotating_logger(
name="timed_logger",
filename="timed_logs",
extra_fields=[LogField.MODULE, LogField.PROCESS_NAME],
)
timed.info("Timed rotating log active")
Size Rotating Logger
from loggerizer.loggers import LoggerFactory
from loggerizer.enums import LogField
rotating = LoggerFactory.size_rotating_logger(
name="rotating_logger",
filename="rotating_logs",
extra_fields=[LogField.MODULE, LogField.LINE_NO],
)
rotating.info("Size rotating log active")
Null Logger
from loggerizer.loggers import LoggerFactory
from loggerizer.enums import LogField
null_log = LoggerFactory.null_logger(name="null_main")
null_log.info("This message is discarded")
SMTP Logger
from loggerizer.config.smtp_config import SMTPConfig
from loggerizer.loggers import LoggerFactory
from loggerizer.enums import LogField
smtp_conf = SMTPConfig(
host=("localhost", 1025),
from_address="test@example.com",
to_address=["admin@example.com"],
subject="Critical Alert",
)
smtp_log = LoggerFactory.email_logger(
name="smtp_main",
smtp_config=smtp_conf,
extra_fields=[LogField.MODULE, LogField.LINE_NO, LogField.FUNC_NAME],
)
smtp_log.error("Critical email sent!")
Logger Features
- Console Logger: Outputs logs to the console.
- JSON Console Logger: Outputs logs in JSON format.
- File Logger: Writes logs to a standard log file.
- JSON File Logger: Writes logs in JSON format.
- Timed Rotating Logger: Rotates logs based on time intervals.
- Size Rotating Logger: Rotates logs based on file size.
- Null Logger: Discards log messages.
- SMTP Logger: Sends error messages via email.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
loggerizer-0.1.4.tar.gz
(11.1 kB
view details)
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 loggerizer-0.1.4.tar.gz.
File metadata
- Download URL: loggerizer-0.1.4.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87c96912b68c3cf47b85132d6031a2289e4e99380fc5e4af5f581c9117ef4b66
|
|
| MD5 |
9d857f7fa2d19821776724988ab09169
|
|
| BLAKE2b-256 |
6d35194b3b6da54e3eee8fcfbd56e95fe2b81d5e4da1d404ec0f022dc489aeb3
|
File details
Details for the file loggerizer-0.1.4-py3-none-any.whl.
File metadata
- Download URL: loggerizer-0.1.4-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18892d69aeeae8239bc5fa0d00841336cce46152287e6e2a8522630b95f1a24c
|
|
| MD5 |
395863875fe7827613b7fbb07e11bafd
|
|
| BLAKE2b-256 |
932ecbccd79850b500d76cddb40a9be64481f39d57c34e11ce2d8ca53dc8b6a8
|