1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python logging模块实现同时向控制台和文件打印日志

Python logging模块实现同时向控制台和文件打印日志

时间:2022-06-04 05:46:45

相关推荐

Python logging模块实现同时向控制台和文件打印日志

有时候我们在运行程序的时候,希望日志既要在控制台面板输出,同时也要在日志文件中写入,这样有利于我们实时掌握程序的运行状态,也方便程序出错的时候,能够在日志文件中分析程序中存在的错误。

#!/usr/bin/python# -*- coding: UTF-8 -*-"""@author: Roc-xb"""import logging, sysdef config_logging(file_name: str, console_level: int = logging.INFO, file_level: int = logging.DEBUG):file_handler = logging.FileHandler(file_name, mode='a', encoding="utf8")file_handler.setFormatter(logging.Formatter('[%(asctime)s %(levelname)s] %(message)s',datefmt="%Y-%m-%d %H:%M:%S"))file_handler.setLevel(file_level)console_handler = logging.StreamHandler(sys.stdout)console_handler.setFormatter(logging.Formatter('[%(asctime)s %(levelname)s] %(message)s',datefmt="%Y-%m-%d %H:%M:%S"))console_handler.setLevel(console_level)logging.basicConfig(level=min(console_level, file_level), handlers=[file_handler, console_handler])if __name__ == '__main__':# 参数解释:# 第一个参数:日志文件名称# 第二个参数:控制台日志输出最小等级(默认:logging.INFO)# 第三个参数:文件日志输出最小等级(默认:logging.DEBUG)config_logging("test.log", logging.INFO, logging.DEBUG)logger = logging.getLogger(__name__)logger.info("一般日志")logger.warning("警告日志")logger.error("错误日志")

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。