日志记录模块logging

在python中,日志记录显示有两种方式,一种是保存在文件和打印屏幕上,一种保存在文件中。

第一种,直接保存在文件中。

 1 import logging  #日志模块,方便记录日志
 2 
 3 # 下面是配置日志记录格式
 4 logging.basicConfig(level=logging.DEBUG,   #(DEBUG这个可以换成其他级别,如WARNING,ERROR等)
 5                     format=' %(asctime)s >> %(filename)s >> line: %(lineno)d >> %(levelname)s >> %(message)s ',
 6                     datefmt='%Y_%m_%d %H:%M:%S',
 7                     filename='test.log',
 8                     filemode='a'
 9                     )   #这个w执行时,会把原有的内容清空,记录记录肯定是要保留所有记录,所以把w换成a,就可以增加内容
10 
11 # 如下为错误级别,依次级别增高
12 logging.debug('debug message11,1223')
13 logging.info('info message22')
14 logging.warning('warning message22')
15 logging.error('error message33')
16 logging.critical('critical message44')

第二种,同时保存在文件和打印输出

 1 import logging
 2 
 3 
 4 logger = logging.getLogger()
 5 
 6 #创建一个handler,用于写入日志文件
 7 fh = logging.FileHandler('test.log','a')
 8 #再创建一个handler,用于输出到屏幕
 9 ch = logging.StreamHandler()
10 
11 
12 formt=logging.Formatter('%(asctime)s_%(filename)s_%(levelname)s_%(message)s')
13 
14 
15 
16 fh.setFormatter(formatter)
17 ch.setFormatter(formatter)
18 
19 
20 logger.addHandler(fh)
21 logger.addHandler(ch)
22 
23 
24 
25 
26 logger.setLevel(logging.DEBUG)
27 
28 
29 
30 logger.debug('debug message11')
31 logger.info('info message22')
32 logger.warning('warning message33')
33 logger.error('error message44')
34 logger.critical('critical message55')

 

posted @ 2018-11-22 20:06  Mr.chris  阅读(403)  评论(0编辑  收藏  举报