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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for loggerizer-0.1.5.tar.gz
Algorithm Hash digest
SHA256 e87a094196246ae170f18f32fb68808dc5e61f7cadf658721fa18e111bd8dfbb
MD5 5779e653cbd660096edada719ca5ba20
BLAKE2b-256 0e924eddced0afe85e64bd701492a1b401001c186ca54e84d041d2334b4f10f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: loggerizer-0.1.5-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.10.19

File hashes

Hashes for loggerizer-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a4777c716a2b108a9e6b4f788d23987a9a897d1a9bb703f94ca27bde97447b3a
MD5 110bc447b11045b8f9915e1d44663d6c
BLAKE2b-256 9364059ff9cb642eb54cad7f02bace61cdf12a414d77e6e3d4cc1544bde12adb

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