python--日志模块

1、python 日志标准库---logging----import logging

1 import logging;
2 import logbook;
3 import os;
4 logging.info('这是一条日志');----->这个没有打印出,因为日志模块的最低输出的级别是Warnning,而info级别小于warnning,所以被丢弃了
5 logging.debug('this is Debug');----->这个没有打印出,因为日志模块的最低输出的级别是Warnning,而debug级别小于warnning,所以也被丢弃了
6 logging.warning('this is warinng');

7 logging.error('this is Error');

8 logging.critical('THIS IS critical');

-------->数字越大,级别越高

 打印结果:日志级别:日志器名称:日志内容------->这是默认的输出格式(Base_Format)-------由此可推论,可以自己定义日志格式

 

 

2、创建一个Log的过程

注意:必须要有的元素

①、创建一个log,并指定输出level

②、创建一个hander,并指定输出level

③、设置hander的输出数据格式

④、给log添加刚才设置好的hander;

 

 

 1 #创建一个log对象
 2 logger=logging.getLogger('myLog');
 3 #logger.addHandler()
 4 #给日志对象设置需要监听的级别
 5 logger.setLevel(logging.DEBUG);
6import time;
  now = time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))
 7 #创建一个handle,用于写入日志文件,并指定写入文件地址 

8 lf_hander=logging.FileHandler(r''+now+'.txt');---------------->若不指定绝对地址,则默认在当前文件下创建一个txt ,此处的文件夹名为当前得的时间命名

9 #给handler对象设置需要监听的log级别
10 lf_hander.setLevel(logging.DEBUG);

11

12

13

14 #再创建一个hanler,用于在控制台输出

15 cs_hander=logging.StreamHandler();

16 cs_hander.setLevel(logging.DEBUG);

17
1 #asctime:当前时间
2 #name:loger名(变量)---->这个之后自己封装的时候可以以变量
3 #levelname:指定要监控的日志级别
4 #pathname:当前运行的py文件------->这个之后自己封装的时候也使用变量引入
5 #message:具体日志信息

 

18 
19 #定义hander的输出格式
20 log_format=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s');
21 
22 lf_hander.setFormatter(log_format);
23 cs_hander.setFormatter(log_format);
24 
25 
26 #给log对象添加hander
27 logger.addHandler(lf_hander);
28 logger.addHandler(cs_hander);
29 
30 
31 if __name__=='__main__':
32     logger.debug('这是debug');

 

posted @ 2019-02-23 11:01  littlepoemers_23ujhs  阅读(121)  评论(0编辑  收藏  举报