Color the log message headers and add more logging 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 | purple |
Python >=3.8,<3.12
Install the package from pypi.org release
pip install logger-coloror install the package from github.com repository
pip install git+https://github.com/vladimirs-git/logger-colorstart_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")
# 2024-10-19 11:03:25.691 DEBUG functions.debug: debug
# 2024-10-19 11:03:25.691 INFO functions.info: info
# 2024-10-19 11:03:25.691 WARNING functions.warning: warning
# 2024-10-19 11:03:25.691 ERROR functions.error: error
# 2024-10-19 11:03:25.691 CRITICAL functions.critical: critical
# 2024-10-19 11:03:25.691 DIAG_I examples_messages.<module>: diag_info
# 2024-10-19 11:03:25.691 DIAG_W examples_messages.<module>: diag_warning
# cat /var/log/test.log
# 2024-10-19 11:03:25 ERROR error
# 2024-10-19 11:03:25 CRITICAL critical