logging模块
Posted xiaobaozi-95
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logging模块相关的知识,希望对你有一定的参考价值。
logging模块
日志级别:debug,info,warning,error,critical
>>> logging.debug(‘test debug‘) >>> logging.info(‘test info‘) >>> logging.warning(‘test warning‘) WARNING:root:test warning >>> logging.error(‘test error‘) ERROR:root:test error >>> logging.critical(‘test critical‘) CRITICAL:root:test critical
自定义日志输入位置,日志格式,级别等
import logging logging.basicConfig(filename=‘test.log‘,level=logging.WARNING,format=‘%(asctime)s %(message)s‘,datefmt=‘%Y-%m-%d/%H:%M:%S‘) logging.info(‘test info‘) logging.warning(‘test warning‘) logging.error(‘test error‘)
#结果:test.log: 2018-09-07/10:56:06 test warning 2018-09-07/10:56:06 test error
#filename 创建输出文件 #level 日志级别 大于或者等于该级别的才会记录 #format 定义日志格式 #datefmt 定义日期时间格式
把日志同时输出到屏幕和文件里
logger 提供应用程序可以调用的接口 handler 把logger创建的日志输出到合适的目标 filter 过滤 选择什么日志应该输出 formatter 指定日志输出格式 #生成logger logger = logging.getLogger(‘TEST-LOG‘) logger.setLevel(logging.WARNING) #全局level. 跟局部的比,谁的level高就使用谁的 #输出到屏幕的handler ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) #被全局覆盖 #输出到文件的handler fh = logging.FileHandler(‘test.log‘) fh.setLevel(logging.ERROR) # 没有被覆盖 #创建formatter formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘) #给ch fh两个handler加格式 ch.setFormatter(formatter) fh.setFormatter(formatter) logger.addHandler(ch) logger.addHandler(fh) logger.info(‘test info‘) logger.debug(‘test debug‘) logger.warning(‘test warning‘) logger.error(‘test error‘) logger.critical(‘test critical‘)
以上是关于logging模块的主要内容,如果未能解决你的问题,请参考以下文章
如何使用模块化代码片段中的LeakCanary检测内存泄漏?
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情