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

Uploaded Python 3

File details

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

File metadata

  • Download URL: loggerizer-0.1.8.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.8.tar.gz
Algorithm Hash digest
SHA256 948206c0ed593b4dccb690640a630f3a2ad7e51cbd29bb8bb59eb12d4727382d
MD5 19c126246d638698654d8e6329d46913
BLAKE2b-256 0605fab70787112a02dd744b97b2e2451a017df21206f4f431562d611d5cde18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: loggerizer-0.1.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 60ea65f4834bdeaf367c8baec83e688fd9a4ffb714cd0728c94ce7b09527cf3c
MD5 946bb4ff8f144ee519771f54bc906ca4
BLAKE2b-256 91ab488dd28780feb090e4d6a5c4aa7eff4807cc0f0d3761fae7f5be1143555e

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