core/services/logger.py
Untone b59a8ef323
All checks were successful
Deploy to core / deploy (push) Successful in 1m27s
root-logger
2024-02-20 19:23:38 +03:00

49 lines
1.2 KiB
Python

import logging
import colorlog
# Define the color scheme
color_scheme = {
'DEBUG': 'light_black',
'INFO': 'green',
'WARNING': 'yellow',
'ERROR': 'red',
'CRITICAL': 'red,bg_white',
}
# Define secondary log colors
secondary_colors = {
'log_name': {'DEBUG': 'blue'},
'asctime': {'DEBUG': 'cyan'},
'process': {'DEBUG': 'purple'},
'module': {'DEBUG': 'light_black,bg_blue'},
}
# Create a ColoredFormatter object for colorized logging
formatter = colorlog.ColoredFormatter(
"%(log_color)s%(levelname)s: %(log_color)s[%(module)s]%(reset)s %(white)s%(message)s",
log_colors=color_scheme,
secondary_log_colors=secondary_colors, # Set secondary log colors
style='%',
reset=True
)
def get_colorful_logger(name='main'):
# Create a stream handler for logging output
stream = logging.StreamHandler()
stream.setFormatter(formatter)
# Create and configure the logger
logger = logging.getLogger(name)
logger.setLevel(logging.DEBUG)
logger.addHandler(stream)
return logger
root_logger = logging.getLogger()
root_logger.setLevel(logging.DEBUG) # Set the log level
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)
root_logger.addHandler(stream_handler)