Python3 + Gunicon 19.9 + Django 2.0不打印我的日志,但打印django.request

问题描述 投票:1回答:1

我添加了很多日志到我的django应用程序,但是没有打印..当我不使用gunicorn时,我的日志被打印到std(只是manage.py runserver)python manager.py runserver log:

  2019-02-22 16:36:13,973 apscheduler.scheduler #INFO 162 Scheduler started
  2019-02-22 16:36:13,974 management.startup_tasks #INFO 14 Scheduling Test task, to run every 5 seconds
  2019-02-22 16:36:14,029 apscheduler.scheduler #INFO 878 Added job "Test" to job store "default" 

以下是我的Django日志记录设置

  LOGGING_CONFIG = None
  logging.config.dictConfig(
      {
          "version": 1,
          "disable_existing_loggers": False,
          "formatters": {
              "console": {
                  # exact format is not important, this is the minimum information
                  "format": "%(asctime)s %(name)-12s #%(levelname)-3s %(lineno)d %(message)s"
              }
          },
          "handlers": {
              "console": {"class": "logging.StreamHandler", "formatter": "console"}
          },
          "loggers": {
              "": {"level": logging.INFO, "handlers": ["console"]},
              "scheduler": {
                  "level": logging.INFO,
                  "handlers": ["console"],
                  # required to avoid double logging with root logger
                  "propagate": False,
              },
              "django.request": {
                  "handlers": ["console"],
                  "level": logging.INFO,  # change debug level as appropiate
                  "propagate": False,
              },
          },
      }
  )

这不是命令:

 pipenv run gunicorn scheduler.wsgi:application --log-file -

但我看到的唯一日志

  [2019-02-22 16:32:17 -0800] [44478] [INFO] Starting gunicorn 19.9.0
  [2019-02-22 16:32:17 -0800] [44478] [INFO] Listening at: http://127.0.0.1:8000 (44478)
  [2019-02-22 16:32:17 -0800] [44478] [INFO] Using worker: sync
  [2019-02-22 16:32:17 -0800] [44487] [INFO] Booting worker with pid: 44487
  2019-02-22 16:32:36,828 django.request #WARNING 228 Not Found: /  <---- I went to the home page 
  2019-02-22 16:32:39,416 django.request #WARNING 228 Not Found: /   <--- I went to the home page 
python django python-3.x gunicorn apscheduler
1个回答
1
投票

您需要添加logger gunicorn.info以在控制台输出中显示记录器。例如:

LOGGING_CONFIG = None
  logging.config.dictConfig(
      {
          "version": 1,
          "disable_existing_loggers": False,
          "formatters": {
              "console": {
                  # exact format is not important, this is the minimum information
                  "format": "%(asctime)s %(name)-12s #%(levelname)-3s %(lineno)d %(message)s"
              }
          },
          "handlers": {
              "console": {"class": "logging.StreamHandler", "formatter": "console"}
          },
          "loggers": {
              "": {"level": logging.INFO, "handlers": ["console"]},
              "scheduler": {
                  "level": logging.INFO,
                  "handlers": ["console"],
                  # required to avoid double logging with root logger
                  "propagate": False,
              },
              "django.request": {
                  "handlers": ["console"],
                  "level": logging.INFO,  # change debug level as appropiate
                  "propagate": False,
              },
              "gunicorn.info": {  # Show gunicorn info
                  "handlers": ["console"],
                  "level": logging.INFO,
                  "propagate": False,
              },
              "gunicorn.error": {  # show gunicorn errors
                  "handlers": ["console"],
                  "level": logging.DEBUG,
                  "propagate": False,
              },
          },
      }
  )
© www.soinside.com 2019 - 2024. All rights reserved.