logging简介
日志的等级
- DEBUG 最详细的日志信息,典型应用场景是问题诊断
- INFO 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作
- WARNING 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的
- ERROR 由于一个更严重的问题导致某些功能不能正常运行时记录的信息
- CRITICAL 当发生严重错误,导致程序不能继续运行时记录的信息
logging模块的使用
第一种方式是使用logging提供的模块级别的函数
logging.debug()
logging.info()
logging.warning()
logging.error()
logging.critical()
第二种方式是使用logging日志系统的四大组件
- Logger 提供应用程序代码直接使用的接口
- Handler 用于将日志记录发送到指定的位置
- Filter 提供更细粒度的日志过滤功能,用于决定哪些日志记录会被输出(其他的日志记录将会被忽略)
- Formatter 用于控制日志信息的最终输出格式
logging.basicConfig(函数说明)

Logger类相关方法

Handler类方法

Handler 相关子类
=
logging模块的格式化字符串

代码示例
import logging import logging.handlers import datetime logger = logging.getLogger('mylogger') logger.setLevel(logging.DEBUG) rf_handler = logging.handlers.TimedRotatingFileHandler('all.log', when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0)) rf_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")) f_handler = logging.FileHandler('error.log') f_handler.setLevel(logging.ERROR) f_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s")) logger.addHandler(rf_handler) logger.addHandler(f_handler) logger.debug('debug message') logger.info('info message') logger.warning('warning message') logger.error('error message') logger.critical('critical message')

浙公网安备 33010602011771号