【发布时间】:2017-11-21 04:41:05
【问题描述】:
我正在使用 yaml 为我的 Python 应用程序配置日志记录。
version: 1
disable_existing_loggers: False
formatters:
standard:
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
handlers:
console:
class: logging.StreamHandler
level: DEBUG
formatter: standard
stream: ext://sys.stdout
info_file_handler:
class: logging.handlers.RotatingFileHandler
level: INFO
formatter: standard
filename: info.log
maxBytes: 10485760 # 10MB
backupCount: 20
encoding: utf8
error_file_handler:
class: logging.handlers.RotatingFileHandler
level: ERROR
formatter: standard
filename: errors.log
maxBytes: 10485760 # 10MB
backupCount: 20
encoding: utf8
debug_file_handler:
class: logging.handlers.RotatingFileHandler
level: DEBUG
formatter: standard
filename: debug.log
maxBytes: 10485760 # 10MB
backupCount: 20
encoding: utf8
loggers:
db_ops:
level: DEBUG
handlers: [info_file_handler, error_file_handler, debug_file_handler]
propagate: true
在模块db_ops 中,我将logger.info 和logger.debug 用于不同级别的日志记录。当我运行应用程序时,INFO 确实将输出到 info.log,INFO 和 DEBUG 消息都输出到 debug.log。
根据级别将日志分隔到不同文件的正确方法是什么?
【问题讨论】: