1、输出日志的代码:
import logging # 创建Logger logger = logging.getLogger() logger.setLevel(logging.DEBUG) # 创建Handler # 终端Handler consoleHandler = logging.StreamHandler() consoleHandler.setLevel(logging.DEBUG) # 文件Handler fileHandler = logging.FileHandler('log.log', mode='w', encoding='UTF-8') fileHandler.setLevel(logging.NOTSET) # Formatter formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') consoleHandler.setFormatter(formatter) fileHandler.setFormatter(formatter) # 添加到Logger中 logger.addHandler(consoleHandler) logger.addHandler(fileHandler) # 打印日志 logger.debug('debug 信息') logger.info('info 信息') logger.warning('warn 信息') logger.error('error 信息') logger.critical('critical 信息') logger.debug('%s 是自定义信息' % '这些东西')
2、相关函数介绍:
日志对象通过模块的getLogger(name)函数获得,可以向该函数传递一个名称。如果不传递名字的话,就会获取根Logger。
日志对象用于输出日志,而Handler对象用于指定日志向哪里输出(文件、终端等等)。Handler列表可以参考Handler类型。
Formatter对象用于格式化日志输出。格式化字符串使用传统的%形式来格式化日志,可以参考官方文档了解更多信息。
过滤器对象用于过滤日志的输出。