Skip to main content

This is my custom logger

Project description

DM-Logger

Urls

Parameters

Options for creating individual loggers

Parameter Type Default Value Description
name str (required) The name associated with the class instance
level str "DEBUG" The logging level (e.g., "DEBUG", "INFO")
write_logs bool True Whether to write logs to a file
print_logs bool True Whether to print logs to the console
file_name str None The name of the log file

Common class parameters for all loggers

Parameter Type Default Value Description
logs_dir_path str "logs" Path to the directory where the logs will be stored
file_name str "main.log" The name of the log file
write_mode "a" | "w" "w" File write mode ('a' for append, 'w' for overwrite)
max_MB int 5 Maximum size of the log file in MB
max_count int 10 Maximum number of log files
show_name_label bool True Whether to display the name label in log entries
show_location_label bool | "auto" "auto" Whether to display the location label in log entries
format_string str None The format string of the log

Usage

Setup class config

This config usage for all loggers

from dm_logger import DMLogger

DMLogger.config.show_name_label = False
DMLogger.config.max_count = 5

Record

from dm_logger import DMLogger

logger = DMLogger("main")

logger.info("test message", tag="test tag")
logger.debug("new message", id=123312)
logger.info("only mess")
logger.critical(env="production")
logger.warning({"key": "value"})
logger.error(["item1", "item2", 3])
logger.info()

Output

19-11-2023 00:49:03.406 [INFO] {tag: 'test tag'} -- test message
19-11-2023 00:49:03.406 [DEBUG] {id: 123312} -- new message
19-11-2023 00:49:03.407 [INFO] -- only mess
19-11-2023 00:49:03.407 [CRITICAL] (test.<module>:8) {env: 'production'}
19-11-2023 00:49:03.408 [WARNING] -- {'key': 'value'}
19-11-2023 00:49:03.408 [ERROR] (test.<module>:10) -- ['item1', 'item2', 3]
19-11-2023 00:49:03.409 [INFO]

Several loggers

All loggers will write to one file

from dm_logger import DMLogger

logger = DMLogger("main", level="INFO")
logger2 = DMLogger("only_file", print_logs=False)

logger.info("Start app")
logger2.debug(process_id=123123)
logger.error("App crashed!")

Output

19-11-2023 00:56:36.879 [INFO] [main] -- Start app
19-11-2023 00:56:36.880 [ERROR] [main] (test.<module>:10) -- App crashed!

Log file

19-11-2023 00:56:36.879 [INFO] [main] -- Start app
19-11-2023 00:56:36.880 [DEBUG] [only_file] {process_id: 123123}
19-11-2023 00:56:36.880 [ERROR] [main] (test.<module>:10) -- App crashed!

Requirements

Python 3.8 or higher.

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

dm_logger-0.5.3.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

dm_logger-0.5.3-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file dm_logger-0.5.3.tar.gz.

File metadata

  • Download URL: dm_logger-0.5.3.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for dm_logger-0.5.3.tar.gz
Algorithm Hash digest
SHA256 805df03aca576b13f6978a34ebcf06a1b5a33eacd880a2cc126f1e9b1529c735
MD5 fef9f5cd01471e08a4c5285987ea8c51
BLAKE2b-256 a4078dc94dc4f8f1d552a88b5d67ca411f859fa928a40fd8180b9b4dfe3ebcfb

See more details on using hashes here.

File details

Details for the file dm_logger-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: dm_logger-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for dm_logger-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 46583e095381bb80f41c12f6f3a05212ade9823c96899bf29e17c4ac29527fd2
MD5 697db621438de15428f28552f7cc9545
BLAKE2b-256 e49d2a5b38e78700550658007c2d14e75d04300b7c96cbc0f9e139368c1721ab

See more details on using hashes here.

Supported by

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