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

Uploaded Python 3

File details

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

File metadata

  • Download URL: loggerizer-0.1.7.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for loggerizer-0.1.7.tar.gz
Algorithm Hash digest
SHA256 37376c531a9407421bdeae56848089bd8d9e863a602f7d7b66fd266da6935fdf
MD5 fe8d5e062b6a283de712433e42fca8bf
BLAKE2b-256 9b0e5124de470e02e4ff43cea3335456690bc9268ba4c6e4fe350cf5316f8855

See more details on using hashes here.

File details

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

File metadata

  • Download URL: loggerizer-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for loggerizer-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b90ee11d7104ae2f87d47e93b6c0f9718e30f947e7a95b1274997d00f5cf6eff
MD5 5b361a5e911801a7294504e77a5a41e2
BLAKE2b-256 6bc720f71150457962a4dfdc3db6e99959904a0a299e26d8d4456b7bb3cea8ee

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