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.3.tar.gz (10.9 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.3-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file loggerizer-0.1.3.tar.gz.

File metadata

  • Download URL: loggerizer-0.1.3.tar.gz
  • Upload date:
  • Size: 10.9 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.3.tar.gz
Algorithm Hash digest
SHA256 6972a62ba106eb2993858c1fd8fd1d81030d31344288798210fd2f08c5de3e54
MD5 ef887c05e0ce9b321c2f57225f1c501b
BLAKE2b-256 0a0b23261a0ba25510ab1cadb181041dc865349e8e073aa25cba3804726cee57

See more details on using hashes here.

File details

Details for the file loggerizer-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: loggerizer-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 14.1 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 de4446db1f41f49417eccd48f3074caba9b73060e00b00d43a9ca2d5bc5046a1
MD5 115600832ce3d7a965f23a662980bd29
BLAKE2b-256 cea1e46807b8469b067812f328773cac9bef049722a2e59be6e553fd43fd7c38

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