I want to have different formats per log level, i.e.:
logformat_info = "info ..."
logformat_warning = "warning ..."
My code so far (The logger is in a function because I pass it around between files):
def log(level='info'):
"""
My logger function.
:param level:
:return:
"""
log_colors = {
"DEBUG": "white",
"INFO": "green",
"WARNING": "yellow",
"ERROR": "red",
"CRITICAL": "bold_red",
}
if level == 'info':
LOG_LEVEL = logging.INFO
elif level == 'debug':
LOG_LEVEL = logging.DEBUG
LOGFORMAT = "%(log_color)s%(log_color)s%(message)s%(reset)s"
logging.root.setLevel(LOG_LEVEL)
formatter = ColoredFormatter(LOGFORMAT, log_colors=log_colors)
stream = logging.StreamHandler()
stream.setLevel(LOG_LEVEL)
stream.setFormatter(formatter)
log_ = logging.getLogger('pythonConfig')
log_.setLevel(LOG_LEVEL)
log_.addHandler(stream)
return log_
Thanks!