参考: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')