logging.config.dictConfig
是 Python 标准库 logging
模块中的一个功能,它允许你通过一个字典来配置日志系统。这种方式比使用 fileConfig
更加灵活,因为你可以在代码中直接定义配置,而不是通过外部文件。
以下是一个 logging.config.dictConfig
的完整示例:
import logging
import logging.config
LOGGING_CONFIG = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'standard': {
'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'standard',
'stream': 'ext://sys.stdout',
},
'file': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'formatter': 'standard',
'filename': 'error.log',
'encoding': 'utf8',
},
},
'loggers': {
'': { # root logger
'handlers': ['console', 'file'],
'level': 'DEBUG',
'propagate': True,
},
'my_module': { # module-specific logger
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
},
}
logging.config.dictConfig(LOGGING_CONFIG)
# 使用日志
logger = logging.getLogger(__name__)
logger.debug('This is a debug message')
logger.error('This is an error message')
False
表示不禁用。standard
的格式。console
: 将日志输出到控制台。file
: 将错误级别的日志输出到文件 error.log
。''
):处理所有级别的日志,并将其传递给 console
和 file
处理程序。my_module
日志记录器:仅处理 my_module
模块的日志,并将其传递给 console
处理程序。dictConfig
非常有用。如果你在使用 logging.config.dictConfig
时遇到问题,可以检查以下几点:
dictConfig
的要求。希望这个示例和解释对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云