Django和Gunicorn记录到多个位置

时间:2018-11-08 22:27:01

标签: python django logging gunicorn

我正在通过Gunicorn 19.9.0运行django 2.0应用程序,该系统是通过systemd启动的。

Gunicorn的启动方式如下:

ExecStart=/home/xxx/venv/prd/bin/gunicorn --pid /run/gunicorn/pid_prd
--access-logfile /var/log/gunicorn/prd/access.log
--log-file /var/log/gunicorn/prd/gunicorn.log
--error-logfile /var/log/gunicorn/prd/error.log
--config  gunicorn_config.py
--bind=127.0.0.1:9000 myapp.wsgi:application

对于我的gunicorn日志,我可以看到access.log和error.log,但是看不到gunicorn.log。 access.log包含传入的url请求,而error.log包含标准的gunicorn启动消息。

对于Django,日志配置为输出到单独的位置(〜/ logs / ...) 但是有时日志消息不存在,它们显示在/ var / log / messages中,如下所示:

Nov 8 21:16:23 xxx gunicorn: 2018-11-08T21:16:23,509 INFO ...my message...

我的django应用日志记录配置如下:

{ "version": 1,
  "disable_existing_loggers": false,
  },
  "handlers": {
    "console": {
      "class": "logging.StreamHandler",
      "level": "DEBUG",
      "formatter": "simple",
      "stream": "ext://sys.stdout"
    },
    "info_file_handler": {
      "class": "logging.handlers.TimedRotatingFileHandler",
      "when": "MIDNIGHT",
      "interval": 1,
      "utc": true,
      "level": "INFO",
      "formatter": "simple",
      "filename": "$HOME/logs/info.log",
      "backupCount": 0,
      "encoding": "utf8"
    },
  }
  "root": {
    "level": "INFO",
    "handlers": [
      "console",
      "info_file_handler",
    ]
  }
}

任何人都可以帮助解释为什么有时我的日志转到/ var / log / messages而不是$ HOME / logs / info.log吗?

预先感谢

0 个答案:

没有答案