logging模块
Posted yspass
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logging模块相关的知识,希望对你有一定的参考价值。
1 import logging 2 3 # critical 50 4 # error 40 5 # warning 30 6 # info 20 7 # debug 10 8 # logging.debug(‘log debug‘) 9 # logging.info(‘log info‘) 10 # logging.warning(‘log warning‘) 11 # logging.error(‘log error‘) 12 # logging.critical(‘log critical‘) 13 14 #1、日志打印到文件 15 #2、控制日志的级别 16 #3、控制日志的格式 17 18 # logging.basicConfig(filename=‘access.log‘, 19 # format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, 20 # datefmt=‘%Y-%m-%d %H:%M:%S %p‘, 21 # level=10, 22 # ) 23 # 24 # 25 # logging.debug(‘log debug‘) 26 # logging.info(‘log info‘) 27 # logging.warning(‘log warning‘) 28 # logging.error(‘log error‘) 29 # logging.critical(‘log critical‘) 30 31 32 # logging模块包含四种对象:logger、filter、handler、formatter 33 34 # 1、logger对象负责产生日志 35 logger1=logging.getLogger(‘交易日志‘) 36 37 # 2、filter过滤 38 39 # 3、handler对象需要与logger对绑定,用来接收logger对象传过来的日志,控制打印到不同的地方(不同的文件、终端) 40 fh1=logging.FileHandler(filename=‘a1.log‘,encoding=‘utf-8‘) 41 fh2=logging.FileHandler(filename=‘a2.log‘,encoding=‘utf-8‘) 42 sh=logging.StreamHandler() 43 44 45 # 4、formmter对象需要与handler对象绑定,用于控制handler对象的日志格式 46 formmater1=logging.Formatter( 47 fmt=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, 48 datefmt=‘%Y-%m-%d %H:%M:%S %p‘ 49 ) 50 51 formmater2=logging.Formatter( 52 fmt=‘%(asctime)s - %(levelname)s : %(message)s‘, 53 datefmt=‘%Y-%m-%d %H:%M:%S %p‘ 54 ) 55 56 # 设置日志级别:logger与handler两层关卡都放行,日志最终才放行 57 logger1.setLevel(10) 58 59 fh1.setLevel(10) 60 fh2.setLevel(40) 61 sh.setLevel(10) 62 63 # 建立logger对象与handler对象的绑定关系 64 logger1.addHandler(fh1) 65 logger1.addHandler(fh2) 66 logger1.addHandler(sh) 67 68 # 建立handler对象与formmater对象的绑定关系 69 fh1.setFormatter(formmater1) 70 fh2.setFormatter(formmater1) 71 sh.setFormatter(formmater2) 72 73 # 使用logger1对象产生日志,打印到不同的位置 74 # logger1.debug(‘alex给egon转账1亿‘) 75 logger1.warning(‘alex可能要赔一个亿‘)
以上是关于logging模块的主要内容,如果未能解决你的问题,请参考以下文章
如何使用模块化代码片段中的LeakCanary检测内存泄漏?
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情