0

これは私の Django アプリケーションのログ設定です。

LOG_DIR = "logs"
LOG_DIR_PATH = os.path.join(BASE_DIR, LOG_DIR)
if not os.path.exists(LOG_DIR_PATH):
    os.mkdir(LOG_DIR_PATH)

LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    "formatters": {
        "verbose": {
            "format": "{asctime} {levelname} : {filename} line - {lineno:d} : {message}",
            "style": "{",
            "datefmt": "%Y-%m-%d %H:%M:%S",
        },
    },
    "filters": {
        "require_debug_false": {
            "()": "django.utils.log.RequireDebugFalse",
        },
        "require_debug_true": {
            "()": "django.utils.log.RequireDebugTrue",
        },
    },
    "handlers": {
        "console": {
            "level": "INFO",
            "filters": ["require_debug_true"],
            "class": "logging.StreamHandler",
            "formatter": "verbose",
        },
        "production": {
            "level": "INFO",
            "filters": ["require_debug_false"],
            "class": "logging.handlers.RotatingFileHandler",
            "filename": os.path.join(LOG_DIR_PATH, "production.log"),
            "maxBytes": 1024 * 1024 * 5,  # 5 MB
            "backupCount": 5,
            "formatter": "verbose",
        },
        "development": {
            "level": "INFO",
            "filters": ["require_debug_true"],
            "class": "logging.handlers.RotatingFileHandler",
            "filename": os.path.join(LOG_DIR_PATH, "development.log"),
            "maxBytes": 1024 * 1024 * 5,  # 5 MB
            "backupCount": 5,
            "formatter": "verbose",
        },
        "task_handler": {
            "level": "INFO",
            "class": "logging.handlers.RotatingFileHandler",
            "filename": os.path.join(LOG_DIR_PATH, "tasks.log"),
            "maxBytes": 1024 * 1024 * 10,  # 10 MB
            "backupCount": 10,
            "formatter": "verbose",
        },
    },
    "loggers": {
        "django": {
            "handlers": ["console"],
        },
        "py.warnings": {
            "handlers": ["console"],
        },
        "django.request": {
            "handlers": ["console"],
            "level": "ERROR",
        },
        "task_logger": {
            "handlers": ["task_handler"],
            "level": "INFO",
            "propagate": False,
        },
    },
    "root": {
        "handlers": ["production", "development"],
        "level": "INFO",
        "propagate": False,
    },
}

development.logしたがって、すべてのリクエスト情報がおよびに記録されることを期待していますproduction.log。開発モードでは問題なく動作し、python manage.py runserverコマンドで DEBUG=False でも動作します。

しかし、gunicorn と Nginx を使用してデプロイすると、.log にリクエスト ログが表示されませんproduction.log。他のログ メッセージはproduction.log、要求ログ以外に表示されます。

production.log に期待されるログ メッセージ

2021-08-05 11:48:37 INFO : basehttp.py line - 157 : "GET /api/v1/settings/vm/cloud-status/ HTTP/1.1" 200 46
2021-08-05 11:48:38 INFO : basehttp.py line - 157 : "GET /api/v1/settings/p1-vms/get-data-fetching-status/ HTTP/1.1" 200 30
2021-08-05 11:48:40 INFO : basehttp.py line - 157 : "GET /api/v1/settings/p1-vms/get-data-fetching-status/ HTTP/1.1" 200 30
2021-08-05 11:48:41 INFO : basehttp.py line - 157 : "GET /api/v1/settings/p1-vms/get-data-fetching-status/ HTTP/1.1" 200 30
2021-08-05 11:48:42 INFO : basehttp.py line - 157 : "GET /api/v1/settings/vm/cloud-status/ HTTP/1.1" 200 46

どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1