Python logging模块实现同时向控制台和文件打印日志(python基础教程)

网友投稿 577 2022-08-24


Python logging模块实现同时向控制台和文件打印日志(python基础教程)

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

#!/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("错误日志")


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:线上dubbo线程池耗尽CyclicBarrier线程屏障异常解决记录
下一篇:Jenkins+Docker+Gitee+SpringBoot自动化部署
相关文章

 发表评论

暂时没有评论,来抢沙发吧~