python的logging模块
1、请参考大神写的博客
https://www.cnblogs.com/yyds/p/6901864.html
2、代码示例
1 """ 2 import logging 3 import sys 4 """ 5 logger 日志器对象,提供了应用程序可一直使用的接口 6 handler 处理器 将logger 创建的日志记录发送到合适的目的输出 7 Filter 过滤器。提供了更细粒度的控制工具来决定输出哪条日志记录 8 Formatter 格式器,决定日志记录的最终输出格式 9 获取日志对象的方法1、实例化logger对象(但是不经常使用),2、logging.getlogger()方法获取日志对象 10 Handler的作用是将消息分发到handler指定的位置(文件、网络、邮件等),logger对象可以通过addhandler()方法为自己添加 11 0个或者多个handler对象,比如一个应用程序有几个日志需求 12 1、把所有日志发送到一个文件中 13 2、把大于error级别的日志输送到 stdout 标准输出 14 3、把大于 critical 级别的日志 输出到email 15 就需要不同的handler来实现不同的功能,最后用logger对象的addHandler()方法进行添加 16 """ 17 18 my_logger = logging.getLogger("my_logger") 19 my_logger.setLevel(logging.DEBUG) 20 file_handler = logging.FileHandler(filename="all.log",mode="a+",encoding="utf-8") 21 # 设置Handler 日志的输出方式 22 file_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")) 23 file_handler.setLevel(logging.DEBUG) 24 my_logger.addHandler(file_handler) # 将日志打印输出到文件 25 sysout_handler = logging.StreamHandler(sys.stdout) 26 sysout_handler.setLevel(logging.DEBUG) 27 sysout_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")) 28 my_logger.addHandler(sysout_handler)# 将日志打印输出到终端 29 30 my_logger.info("this is info log") 31 my_logger.debug("this is debug log") 32 my_logger.error("this is error log") 33 my_logger.warning("this is warning log") 34 my_logger.critical("this is critical log")