首页 > 编程语言 > 详细

Python Logging模块

时间:2014-03-19 17:12:34      阅读:458      评论:0      收藏:0      [点我收藏+]

  最近在学习openstack时,发现其大部分组件都使用了类似的框架结构,基本上是由一些开源模块搭建起来的,为了能更好地学习openstack,需要对这些开源模块进行深入学习,下面就先由logging开始吧。

  logging,顾名思义,是用来做日志处理的模块,其功能非常强大,不仅能将日志写入文件,还能将日志以http/tcp/udp协议的对外发送。

bubuko.com,布布扣
 1 LOG_FILE = tst.log
 2 
 3 handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes=1024 * 1024, backupCount=5)
 4 fmt = %(asctime)s - %(filename)s:%(lineno)s - %(name)s - %(message)s
 5 
 6 formatter = logging.Formatter(fmt)
 7 handler.setFormatter(formatter)
 8 logger = logging.getLogger(test)
 9 logger.addHandler(handler)
10 logger.setLevel(logging.DEBUG)
11 
12 handler2 = logging.StreamHandler(sys.stderr)
13 handler2.setFormatter(formatter)
14 
15 logger = logging.getLogger(test.1) #必须test.x 才会与test共享配置
16 handler2.setLevel(logging.INFO)
17 logger.addHandler(handler2)
18 
19 logger.info(first info message)
20 #logger.removeHandler(handler2)
21 logger.debug(first debug message)
bubuko.com,布布扣

  formatter:设置日志输出格式

  handler:设置日志输出方式,比如是否支持备份等等

  logger:一旦创建,对于python解释器来说是一个全局对象: 

      文件A: logging.getLogger(‘test‘)

      文件B: logging.getLogger(‘test‘)  ---->此处取出的logger对象和文件A具有相同的配置,为同一个对象

  logging支持读取配置文件进行初始化,一般项目中都喜欢这种方式:

bubuko.com,布布扣
import logging
import logging.config

logging.config.fileConfig("logging.conf")

logger = logging.getLogger("simpleExample")

logger.debug("debug message")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
logger.critical("critical message")
bubuko.com,布布扣
bubuko.com,布布扣
[loggers]
keys=root,simpleExample

[handlers]
keys=consoleHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=DEBUG
handlers=consoleHandler

[logger_simpleExample]
level=DEBUG
handlers=consoleHandler
qualname=simpleExample
propagate=0

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(filename)s:%(lineno)s - %(levelname)s - %(message)s
datefmt=
bubuko.com,布布扣

Python Logging模块,布布扣,bubuko.com

Python Logging模块

原文:http://www.cnblogs.com/persevere/p/3611635.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!