【问题标题】:Django logging does not write debug.log file issueDjango 日志不写 debug.log 文件问题
【发布时间】:2018-12-24 20:33:39
【问题描述】:

我刚刚设置了新服务器,在检查它时,我收到了 500 错误。我希望 debug.log 文件有错误消息,但是,当我检查文件时,文件是空的。什么都没写。所以我可能多次更改记录器设置,但文件仍然是空的,我无法修复错误,因为它有什么问题......

这是我的观点.py

logger = logging.getLogger(__name__)

把这条线做日志记录。

settings.py

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
    'require_debug_false': {
        '()': 'django.utils.log.RequireDebugFalse'
    }
},
'formatters': {
    'simple': {
        'format': '%(asctime)s %(filename)s:%(lineno)d %(message)s',
    }
},
'handlers': {
    'file': {
        'level': 'DEBUG',
        'filters': ['require_debug_false'],
        'class': 'logging.handlers.RotatingFileHandler',
        'filename': '/var/log/service/debug.log',
        'formatter': 'simple',
    },
},
'loggers': {
    'django': {
        'handlers': ['file'],
        'level': 'ERROR',
        'propagate': True,
    },
}
}

if DEBUG:
    del LOGGING['loggers']['django']
    del LOGGING['handlers']['file']

if not os.path.exists('log'):
    os.makedirs('log')

我附上了我的 wsgi.py

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")

application = get_wsgi_application()

这是导入本地设置的 settings.py。

try:
    from local_settings import *
except ImportError:
    raise ImportError('You must create local_settings.py on project root')

这是 local_settings.py

DEBUG=False

【问题讨论】:

  • 你如何使用你创建的记录器对象?
  • @ShahrukhMohammad 记录器对象?
  • 你在views.py文件中创建的那个

标签: django debugging logging


【解决方案1】:

您的设置中没有名为 views 的记录器。那里只有一个名为 django 的记录器。所以尝试在views.py中使用它:

logger = logging.getLogger('django')

【讨论】:

  • @camila 修改后你重启了 Django 吗?
  • 我重新启动了 uwsgi,所以是的,我在更改后重新启动了 Django。
  • 非常感谢我没有传递记录器名称,我花了 2-3 个小时才找到这个答案。它有效!
【解决方案2】:

你的服务器上DEBUG的设置是什么?

因为:

if DEBUG: del LOGGING['loggers']['django'] del LOGGING['handlers']['file']

如果DEBUGTrue,您正在删除记录器和处理程序...

【讨论】:

  • 刚刚检查,settings.py 调试为 True,但我做了 local_settings.py,这里 DEBUG=False。
  • 您确定要加载 local_settings.py 吗?您是在设置环境变量还是修改了 wsgi.py?详情...
  • 我附上了wsgi.py。
  • 我仍然看不到您在哪里加载 local_settings,就像您提到的那样。你在设置环境变量吗?
猜你喜欢
  • 2016-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多