1.导入模块
>>> import logging
2.五种日志级别
#输出时默认只显示警告级别以上的信息,可以使用basicConfig的level参数更改 >>> logging.basicConfig(level=logging.DEBUG) ... logging.debug('调试') ... logging.info('信息') ... logging.warning('警告') ... logging.error('错误') ... logging.critical('崩溃') DEBUG:root:调试 INFO:root:信息 WARNING:root:警告 ERROR:root:错误 CRITICAL:root:崩溃
3.baseConfig()可选参数
filename:跟文件名,日志将记录在文件内,指定之后就不会在控制台显示 filemode:文件打开方式,默认为'a' format:指定日志记录格式 datefmt:指定日期时间格式。 level:设置显示的日志级别
4.日志记录格式
%(name)s 哪个用户 %(levelno)s 数字形式的日志级别 %(levelname)s 文本形式的日志级别 %(filename)s 调用函数所在文件名 %(module)s 调用日志输出函数的模块名 %(lineno)d 调用函数所在的行 %(asctime)s 字符串形式的当前时间。 %(message)s用户输出的消息 示例 logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s line:%(lineno)d [%(levelname)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S') logging.error('111') 2019-09-17 13:51:33 测试专用.py line:15 [ERROR] 111
5.在控制台和文件中同时输出日志
#导入模块 import logging #创建日志文件助手和屏幕显示文件助手 filehandler = logging.FileHandler('python.log',encoding='utf-8') streamhandler = logging.StreamHandler() #指定日志输出格式,可以指定多个,绑定时可以分别绑定 format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') #将日志格式绑定到助手 filehandler.setFormatter(format) streamhandler.setFormatter(format) #创建一个logger对象 logger = logging.getLogger() #将两个助手添加到logger对象中 logger.addHandler(filehandler) logger.addHandler(streamhandler) #设置日志显示级别 logger.setLevel(logging.DEBUG) #filehandler.setLevel(logging.DEBUG) 可以单独设置级别 #streamhandler.setLevel(logging.ERROR) #输出日志就可以在文件和控制台中同时显示了 logger.error('casadasdasd')