python日志中同一日志文件的多个处理程序

2024-03-28 16:32:57 发布

您现在位置:Python中文网/ 问答频道 /正文

在python日志记录配置中,是否可能有多个日志处理程序引用同一个日志文件。我可以通过在handlers对象中再添加一个处理程序handler_two来实现,但这似乎只是一个样板

"handler_two": {
      "level": "DEBUG",
      "class": "logging.handlers.TimedRotatingFileHandler",
      "formatter": "verbose",
      "filename": "{}/abc.log".format(log_folder),
      "when": "midnight",
      "backupCount": 10,
      "encoding": "utf8"
    },

logging.conf-

  "version": 1,
  "disable_existing_loggers": False,
  "formatters": {
    "verbose": {
      "format": "%(asctime)s  %(name)s  %(levelname)s  (PID: %(process)d) %(message)s",
      "datefmt": "%d/%m/%Y %I:%M:%S %p %Z"
    },
    "simple": {
      "format": "%(asctime)s  %(name)s %(levelname)s >  %(message)s"
    }
  },
  "handlers": {
    "handler_one": {
      "level": "DEBUG",
      "class": "logging.handlers.TimedRotatingFileHandler",
      "formatter": "verbose",
      "filename": "{}/abc.log".format(log_folder),
      "when": "midnight",
      "backupCount": 10,
      "encoding": "utf8"
    },
    "error": {
      "level": "ERROR",
      "class": "logging.handlers.TimedRotatingFileHandler",
      "formatter": "verbose",
      "filename": "{}/error.log".format(log_folder),
      "when": "midnight",
      "backupCount": 10,
      "encoding": "utf8"
    }
  },
  "root": {
    "level": "ERROR",
    "handlers": [
      "error"
    ]
  },
  "loggers": {
    "handler_one": {
      "level": "DEBUG",
      "handlers": [
        "handler_one"
      ],
      "propagate": "false"
    },
  }
}

Tags: debuglogformatverboseformatterlogginghandlersfolder