Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

loggerizer-0.1.4-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

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

Hashes for loggerizer-0.1.4.tar.gz
Algorithm Hash digest
SHA256 87c96912b68c3cf47b85132d6031a2289e4e99380fc5e4af5f581c9117ef4b66
MD5 9d857f7fa2d19821776724988ab09169
BLAKE2b-256 6d35194b3b6da54e3eee8fcfbd56e95fe2b81d5e4da1d404ec0f022dc489aeb3

See more details on using hashes here.

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

Hashes for loggerizer-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 18892d69aeeae8239bc5fa0d00841336cce46152287e6e2a8522630b95f1a24c
MD5 395863875fe7827613b7fbb07e11bafd
BLAKE2b-256 932ecbccd79850b500d76cddb40a9be64481f39d57c34e11ce2d8ca53dc8b6a8

See more details on using hashes here.

Supported by

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