python logging模块

功能
1. 日志格式的规范
2. 操作的简化
3. 日志的分级管理

logging不能帮你做的事情
自动生成你要打印的内容
需要程序员自己在开发的时候定义好 :
在哪些地方需要打印,要打印的内容是什么,内容的级别

logging模块的使用 :
普通配置型 简单的 可定制化差 屏幕和文件存储不可以同是进行
对象配置型 复杂的 可定制化强 可以同是进行文件存储和在屏幕显示

 

#普通配置型
# import logging
# logging.basicConfig(level=logging.DEBUG,
#                     format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
#                     datefmt='%a, %d %b %Y %H:%M:%S',
#                     filename='test.log')
# logging.debug('debug message')      # 调试模式
# logging.info('info message')        # 基础信息
# logging.warning('warning message')  # 警告
# logging.error('error message')      # 错误
# logging.critical('critical message')# 严重错误
# basicConfig
# 不能将一个log信息既输出到屏幕 又输出到文件
#错误提示默认优先提示warniing以上级别错误




#对象配置型  既可以显示在屏幕上,也可以存入文件
# 创建一个logger对象
# 创建一个文件管理操作符
# 创建一个屏幕显示操作符
# 创建一个日志输出格式
#
# 屏幕显示操作符绑定一个输出格式
# 文件管理操作符绑定一个输出格式
#
# 对象绑定一个屏幕显示操作符
# 对象绑定一个文件管理操作符




import logging
logger = logging.getLogger()#创建一个对象
w = logging.FileHandler('aa.txt',encoding='utf-8')#创建一个文件管理操作符
p = logging.StreamHandler()#创建一个屏幕显示操作符
r = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')#设置错误输出格式
w.setFormatter(r)#文件操作符绑定输出格式
p.setFormatter(r)#屏幕操作符绑定输出格式

logger.addHandler(w)#对象绑定文件操作符
logger.addHandler(p)#对象绑定屏幕操作符
logger.setLevel(logging.DEBUG)#设置错误显示级别

logger.debug('debug message')      # 调试模式
logger.info('我的信息')        # 基础信息
logger.warning('warning message')  # 警告
logger.error('error message')      # 错误
logger.critical('critical message')# 严重错误

 

posted @ 2018-08-10 16:50  唯你如我心  阅读(147)  评论(0编辑  收藏  举报