Different logging levels for stram (terminal) and file. Color the log messages. Has additional levels for diagnostics: DIAG_INFO, DIAG_WARNING.
Level | Int | Color |
---|---|---|
DEBUG | 10 | gray |
INFO | 20 | green |
WARNING | 30 | yellow |
ERROR | 40 | red |
CRITICAL | 50 | bold red |
DIAG_INFO | 21 | blue |
DIAG_WARNING | 31 | blue bold |
Contents
Python >=3.8
Install the package from pypi.org release
pip install logger-color
or install the package from github.com repository
pip install git+https://github.com/vladimirs-git/logger-color
or install the package from github.com release
pip install https://github.com/vladimirs-git/logger-color/archive/refs/tags/0.0.8.tar.gz
start_logging(filename, mode, level, level_file, color, debug) - Start logging with the specified parameters
Parameter | Type | Default | Description |
---|---|---|---|
filename | str | Writes messages to this file. By default, logging only to the terminal | |
mode | str | "w" | "w" - Writes to file (default), "a" - Appends to file |
level | str | INFO | Logging level for the terminal: "DEBUG", "INFO" (default), "WARNING", "ERROR", "CRITICAL", "DIAG_INFO", "DIAG_WARNING" |
level_file | str | level | Logging level for the file. By default, the same as level parameter |
color | bool | True | True - Prints a colored message to the terminal (default), False - Prints a monochrome message to the terminal |
debug | bool | False | True - Sets logging level to DEBUG (rewrites level parameter), works the same as level="DEBUG". False - Gets logging level from level parameter (default) |
debug(args, kwargs) - Log a message with severity "DEBUG"
diag_info(msg, args, kwargs) - Log diagnostic message with severity "INFO"
diag_warning(msg, args, kwargs) - Log diagnostic message with severity "WARNING"
info(args, kwargs) - Log a message with severity "INFO"
warning(args, kwargs) - Log a message with severity "WARNING"
error(args, kwargs) - Log a message with severity "ERROR"
warning(args, kwargs) - Log a message with severity "CRITICAL"
Example
import logger_color
logger_color.start_logging(filename="/var/log/test.log", level="debug", level_file="error")
logger_color.debug("debug")
logger_color.info("info")
logger_color.warning("warning")
logger_color.error("error")
logger_color.critical("critical")
logger_color.diag_info("diag_info")
logger_color.diag_warning("diag_warning")
# 2000-12-31 23:59:59.474 DEBUG messages.debug: debug
# 2000-12-31 23:59:59.474 INFO messages.info: info
# 2000-12-31 23:59:59.474 WARNING messages.warning: warning
# 2000-12-31 23:59:59.474 ERROR messages.error: error
# 2000-12-31 23:59:59.474 CRITICAL messages.critical: critical
# 2000-12-31 23:59:59.474 DIAG_I messages.<module>: diag_info
# 2000-12-31 23:59:59.474 DIAG_W messages.<module>: diag_warning
# cat /var/log/test.log
# 2000-12-31 23:59:59 ERROR error
# 2000-12-31 23:59:59 CRITICAL critical