十八、logging 模块

用于记录便捷日志且线程安全的模块

1:单文件日志:

 1 import logging
 2 
 3 logging.basicConfig(filename = 'log.log',
 4                     format='%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s',
 5                     datefmt =  '%Y-%m-%d %H:%M:%S %p',
 6                     level = 10)
 7 
 8 logging.debug('debug')
 9 logging.info('info')
10 logging.warning('warning')
11 logging.error('error')
12 logging.critical('critical')
13 
14 #也可以在写log的时候,指定log级别
15 logging.log(10,'log')

2:日志等级

1 CRITICAL = 50
2 FATAL = CRITICAL
3 ERROR = 40
4 WARNING = 30
5 WARN = WARNING
6 INFO = 20
7 DEBUG = 10
8 NOTSET = 0

 

3:日志等级筛选

在进行日志筛选的时候,显示大于等于level的日志。level也可以是 DEBUG\ERROR\INFO 等等类型的字符

1  3 logging.basicConfig(filename = 'log.log',
2  4                     format='%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s',
3  5                     datefmt =  '%Y-%m-%d %H:%M:%S %p',
4  6                     level = 10)

  摘抄老师博客 日志记录格式

 

4:多文件日志

通过下面的步骤,可以针对一个或者多个文件进行日志写入

  • 1:定义log文件句柄。
  • 2:设置log格式模式。
  • 3:应用format格式
  • 4:设置log比较器 logger,超过level才写入
  • 5:写入文件 
 1 import logging
 2 
 3 #定义文件
 4 file1 = logging.FileHandler('1.log','a')  #建立一个log文件句柄
 5 fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s')
 6 file1.setFormatter(fmt)
 7 
 8 file2 = logging.FileHandler('2.log','a') #创建第2个log文件句柄
 9 fmt = logging.Formatter()
10 file2.setFormatter(fmt)
11 
12 
13 #定义日志. logger 用来进行日志定义。 如果超过level,在调用写日志功能
14 logger1 = logging.Logger('s1',level = logging.ERROR)
15 
16 logger1.addHandler(file1)
17 logger1.addHandler(file2)
18 
19 #写日志
20 logger1.log(50,'aaaaa')
21 logger1.error('error')
22 logger1.critical('cirtical')

 

posted @ 2016-06-16 21:48  咖啡茶  阅读(93)  评论(0)    收藏  举报