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');