除了使用 logging 模块中的 basicConfig 方法配置日志, Python 的 logging.config 模块中, dictConfig 和 fileConfig 方法分别支持通过字典和文件的方式配置 Logger、Handler 和 Formatter。下面用一个例子来简单地说明如何使用文件配置日志,更多详细的用法参考:https://docs.python.org/2/library/logging.config.html
logging.conf
########################################################################################## [loggers] keys=root,log1 [logger_root] level=DEBUG handlers=hand01,hand02 [logger_log1] handlers=hand02 qualname=log1 propagate=0 ########################################################################################## [handlers] keys=hand01,hand02 [handler_hand01] class=FileHandler level=DEBUG formatter=form01 args=(‘myapp.log‘, ‘a‘) [handler_hand02] class=StreamHandler level=DEBUG formatter=form01 args=(sys.stdout,) ########################################################################################## [formatters] keys=form01 [formatter_form01] format=%(asctime)s [%(threadName)s] (%(filename)s:%(lineno)d) %(levelname)s - %(message)s datefmt=%Y-%m-%d %H:%M:%S
logging_config_demo.py
import logging import logging.config logging.config.fileConfig("logging.conf") log1 = logging.getLogger("log1") log1.debug(‘This is a debug message‘) log1.info(‘This is an info message‘) log1.warning(‘This is a warning message‘)
时间: 2024-10-15 12:57:38