我已經為我的 Django 項目安裝了django-structlog 1.4.1。我已按照該鏈接中描述的所有步驟進行操作。在我的settings.py文件中:import structlogMIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django_structlog.middlewares.RequestMiddleware',]LOGGING = { "version": 1, "disable_existing_loggers": False, "formatters": { "json_formatter": { "()": structlog.stdlib.ProcessorFormatter, "processor": structlog.processors.JSONRenderer(), }, "plain_console": { "()": structlog.stdlib.ProcessorFormatter, "processor": structlog.dev.ConsoleRenderer(), }, "key_value": { "()": structlog.stdlib.ProcessorFormatter, "processor": structlog.processors.KeyValueRenderer(key_order=['timestamp', 'level', 'event', 'logger']), }, }, "handlers": { "console": { "class": "logging.StreamHandler", "formatter": "plain_console", }, "json_file": { "class": "logging.handlers.WatchedFileHandler", "filename": "log/json.log", "formatter": "json_formatter", }, "flat_line_file": { "class": "logging.handlers.WatchedFileHandler", "filename": "log/flat_line.log", "formatter": "key_value", }, }, "loggers": { "django_structlog": { "handlers": ["console", "flat_line_file", "json_file"], "level": "DEBUG", }, "django_structlog_demo_project": { "handlers": ["console", "flat_line_file", "json_file"], "level": "DEBUG", }, }}
1 回答

慕森王
TA貢獻1777條經驗 獲得超3個贊
我沒有使用過django-structlog
(但寫structlog
了??),這看起來django_structlog_demo_project
不是您的應用程序記錄器的名稱,因此設置不適用(默認日志級別為INFO
)。
您可以修復名稱,或者由于您的配置相同,我建議刪除示例記錄器并重命名第一個root
應該具有全局效果的記錄器。
可悲的是,這是標準庫的一個非常常見的問題logging
。
添加回答
舉報
0/150
提交
取消