logging模块——日志配置

函数式简单配置

import logging  
logging.debug('debug message')  #低级别的,用于排错信息
logging.info('info message')  #正常信息
logging.warning('warning message')  #警告信息
logging.error('error message')  #错误信息
logging.critical('critical message') #高级别的,用于严重错误信息

 默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志,这说明默认的日志级别设置为WARNING(日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG),默认的日志格式为日志级别:Logger名称:用户输出消息。

2种日志配置方式,basicconfig配置和log对象配置

# basicconfig 简单 但能做的事情相对少,存在中文乱码问题,不能同时往文件和屏幕上输出

# log对象配置,稍微有点复杂 能做的事情相对多

basicconfig配置

import logging
file_handler = logging.FileHandler(filename='x1.log', mode='a', encoding='utf-8',)#创建日志
logging.basicConfig(
    format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s', #格式设置
    datefmt='%Y-%m-%d %H:%M:%S %p', #时间格式设置
    handlers=[file_handler], #设置输入到创建文件中,如果没有此行设置,默认输出到控制台                            
    level=logging.ERROR #日志等级设置,如果没有,默认系统设置
)

log对象配置

import logging
logger
= logging.getLogger()
# 创建一个handler操作符,用于写入日志文件
fh = logging.FileHandler('test.log',encoding='utf-8')
# 再创建一个handler操作符,用于输出到控制台
ch = logging.StreamHandler()
formatter
= logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter) #将相应操作符关联格式 ch.setFormatter(formatter) logger.addHandler(fh) #将文件操作符和log对象关联,logger对象可以添加多个fh和ch对象 logger.addHandler(ch)

 

 

 

 

 

posted @ 2019-07-30 17:26  Bonnie宝仪  阅读(518)  评论(0编辑  收藏  举报