python logging配置文件模式

logging.confpython

[loggers]
keys=root,cping,api

[logger_root]
level=DEBUG
handlers=stream

[logger_cping]
handlers=stream,file
qualname=cping
propagate=0

[logger_api]
handlers=stream,file
qualname=cping
propagate=0
####################################
[handlers]
keys=stream,file

[handler_stream]
class=StreamHandler
level=INFO
formatter=standard
args=(sys.stdout, )

[handler_file]
class=cping.utils.log_helper.MyLoggerHandler
level=INFO
formatter=standard
args=('logs/cping.log', 'MONTH', 36)

####################################
[formatters]
keys=standard

[formatter_standard]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

使用api

import logging
import logging.config

logging.config.fileConfig('logging.conf')

# create logger
logger = logging.getLogger('cping')

# 'application' code
logger.debug('debug message')
logger.info('info message')
logger.warning('warn message')
logger.error('error message')
logger.critical('critical message')

注意:root是必需要配置的,不然報錯app

logging.config.fileConfig('logging.conf')
  File "/usr/lib/python2.7/logging/config.py", line 86, in fileConfig
    _install_loggers(cp, handlers, disable_existing_loggers)
  File "/usr/lib/python2.7/logging/config.py", line 190, in _install_loggers
    llist.remove("root")
ValueError: list.remove(x): x not in list
相關文章
相關標籤/搜索