Python的logging使用
来源:互联网 发布:程序员 架构师 编辑:程序博客网 时间:2024/06/05 19:18
功能简介
Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。logging模块与log4j的机制是一样的,只是具体的实现细节不同。模块提供logger,handler,filter,formatter。
Logger记录器:提供日志接口,供应用代码使用。logger最长用的操作有两类:配置和发送日志消息。可以通过logging.getLogger(name)获取logger对象,如果不指定name则返回root对象。多次使用相同的name调用getLogger方法,返回同一个logger对象。
Handler处理器:将日志记录(log record)发送到合适的目的地(destination),比如文件、控制台、socket等。一个logger对象可以通过addHandler方法添加0到多个handler,每个handler又可以定义不同日志级别,以实现日志分级过滤显示。
Filter过滤器:提供了更好的粒度控制,它可以决定输出哪些日志记录。
Formatter格式化器:指定日志记录输出的具体格式。formatter的构造方法需要两个参数:消息的格式字符串和日期字符串,这两个参数都是可选的。
简单测试
默认情况下,logging模块将日志打印到屏幕上(stdout),日志级别为WARNING(即只有日志级别高于WARNING的日志信息才会输出)
import logginglogging.debug('debug message')logging.info('info message')logging.warn('warn message')logging.error('error message')logging.critical('critical message')
输出:
WARNING:root:warn messageERROR:root:error messageCRITICAL:root:critical message
#coding:utf-8 import logging # 创建一个logger logger = logging.getLogger() logger1 = logging.getLogger('mylogger') logger1.setLevel(logging.DEBUG) logger2 = logging.getLogger('mylogger') logger2.setLevel(logging.INFO)# 创建一个handler,用于写入日志文件 fh = logging.FileHandler('/tmp/test.log') # 定义handler的输出格式formatter formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter)logger.addHandler(fh) logger.debug('logger debug message') logger.info('logger info message') logger.warning('logger warning message') logger.error('logger error message') logger.critical('logger critical message') logger1.debug('logger1 debug message') logger1.info('logger1 info message') logger1.warning('logger1 warning message') logger1.error('logger1 error message') logger1.critical('logger1 critical message') logger2.debug('logger2 debug message') logger2.info('logger2 info message') logger2.warning('logger2 warning message') logger2.error('logger2 error message') logger2.critical('logger2 critical message')
输出:
2014-05-06 12:54:43,222 - root - WARNING - logger warning message2014-05-06 12:54:43,223 - root - ERROR - logger error message2014-05-06 12:54:43,224 - root - CRITICAL - logger critical message2014-05-06 12:54:43,224 - mylogger - INFO - logger1 info message2014-05-06 12:54:43,224 - mylogger - INFO - logger1 info message2014-05-06 12:54:43,225 - mylogger - WARNING - logger1 warning message2014-05-06 12:54:43,225 - mylogger - WARNING - logger1 warning message2014-05-06 12:54:43,226 - mylogger - ERROR - logger1 error message2014-05-06 12:54:43,226 - mylogger - ERROR - logger1 error message2014-05-06 12:54:43,227 - mylogger - CRITICAL - logger1 critical message2014-05-06 12:54:43,227 - mylogger - CRITICAL - logger1 critical message2014-05-06 12:54:43,228 - mylogger - INFO - logger2 info message2014-05-06 12:54:43,228 - mylogger - INFO - logger2 info message2014-05-06 12:54:43,229 - mylogger - WARNING - logger2 warning message2014-05-06 12:54:43,229 - mylogger - WARNING - logger2 warning message2014-05-06 12:54:43,230 - mylogger - ERROR - logger2 error message2014-05-06 12:54:43,230 - mylogger - ERROR - logger2 error message2014-05-06 12:54:43,231 - mylogger - CRITICAL - logger2 critical message2014-05-06 12:54:43,231 - mylogger - CRITICAL - logger2 critical message
参考
http://blog.csdn.net/chosen0ne/article/details/7319306
http://blog.csdn.net/zyz511919766/article/details/25136485/
http://www.jianshu.com/p/feb86c06c4f4
- python的logging使用
- Python的logging使用
- python logging的使用
- 使用Python的logging.config
- 使用Python的logging.config
- 使用python的logging模块
- 使用python的logging模块
- 使用python的logging模块
- 【python系列】logging的使用
- 使用python的logging模块
- 使用python的logging模块
- 使用python的logging模块
- 使用python的logging模块
- Python的Logging使用教程
- 使用python的logging模块
- 【python】logging模块的使用
- 使用python的logging模块
- logging in python: logging模块的简单使用
- Python绘制五角星
- 论文阅读之Fast RCNN
- ImageLoad
- 欢迎使用CSDN-markdown编辑器
- Java中equals和==的区别
- Python的logging使用
- 别被Express的API搞晕了
- CSS的@media语法实现页面端手机端的自适应
- oracle——监听(二、sqlplus连接数据库)
- Memcached常用命令以及使用说明
- 二项分布和多项分布
- Android系统广播大全及开机自启动的Service
- 输入两个链表,找出它们的第一个公共结点
- ADO.NET的数据库访问