python logging

参考:http://www.cnblogs.com/dkblog/archive/2011/08/26/2155018.html

通过logging.config模块配置日志

#logger.conf

###############################################

[loggers]                        #有哪些日志记录器,这里有个root,还有2个example01,exampl02
keys=root,example01,example02

[logger_root]
level=DEBUG
handlers=hand01,hand02

[logger_example01]
handlers=hand01,hand02                #制定了使用哪些handlers,下面会单独定义这些handler
qualname=example01                  #制定了这些日志记录器的名字,程序中加载的时候就加载这个名字
propagate=0

[logger_example02]
handlers=hand01,hand03
qualname=example02
propagate=0

###############################################

[handlers]                        #定义了上面所说的具体的handler
keys=hand01,hand02,hand03

[handler_hand01]
class=StreamHandler                  #定义了hand01的方式,级别,日志类型
level=INFO
formatter=form02
args=(sys.stderr,)

[handler_hand02]
class=FileHandler                    #定义了hand02的保存日志的名字,方式,级别等,
level=DEBUG
formatter=form01                     #指定了需要加载的格式,如日期怎么显示灯
args=('myapp.log', 'a')

[handler_hand03]
class=handlers.RotatingFileHandler            #日志轮训的方式,固定大小,多了就覆盖
level=INFO
formatter=form02
args=('myapp.log', 'a', 10*1024*1024, 5)

###############################################

[formatters]                        #定义了具体的格式,上面加载就是这里设置的
keys=form01,form02

[formatter_form01]
format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
datefmt=%a, %d %b %Y %H:%M:%S

[formatter_form02]
format=%(name)-12s: %(levelname)-8s %(message)s
datefmt=

上例3:

import logging
import logging.config

logging.config.fileConfig("logger.conf")
logger = logging.getLogger("example01")

logger.debug('This is debug message')
logger.info('This is info message')
logger.warning('This is warning message')

上例4:

import logging
import logging.config

logging.config.fileConfig("logger.conf")
logger = logging.getLogger("example02")

logger.debug('This is debug message')
logger.info('This is info message')
logger.warning('This is warning message')

 

 

程序中使用的时候:

logging.config.fileConfig("logging.conf")
logger = logging.getLogger("detectdns")

如上,先制定配置文件,再加载日志记录器。

 

最后就这样使用就好了:

        logger.info('no file in the folder')

posted @ 2013-12-25 17:23  马僧  阅读(444)  评论(0编辑  收藏  举报