import logging
import colorlog
log_colors_config = {
'DEBUG': 'white',
'INFO': 'green',
'WARNING': 'yellow',
'ERROR': 'red',
'CRITICAL': 'bold_red',
}
logger = logging.getLogger(__name__)
def init_log():
# 输出到控制台
console_handler = logging.StreamHandler()
# 输出到文件
# file_handler = logging.FileHandler(filename='test.log', mode='a', encoding='utf8')
# 日志级别,logger 和 handler以最高级别为准,不同handler之间可以不一样,不相互影响
logger.setLevel(logging.DEBUG)
console_handler.setLevel(logging.DEBUG)
# file_handler.setLevel(logging.INFO)
# 日志输出格式
log_format = "%(log_color)s[%(asctime)s][%(name)s][%(levelname)s][%(filename)s:%(lineno)d][%(funcName)s] %(message)s"
# file_formatter = logging.Formatter(
# fmt=log_format, no %(log_color)s
# datefmt='%Y-%m-%d %H:%M:%S'
# )
console_formatter = colorlog.ColoredFormatter(
fmt='{}'.format(log_format),
log_colors=log_colors_config
)
console_handler.setFormatter(console_formatter)
# file_handler.setFormatter(file_formatter)
if not logger.handlers:
logger.addHandler(console_handler)
# logger.addHandler(file_handler)
console_handler.close()
# file_handler.close()
if __name__ == '__main__':
init_log()
logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.critical('critical')
Python - 日志输出不同颜色
最新推荐文章于 2024-04-09 10:09:25 发布