Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DEBUG=False导致500个错误,无法强制将所有内容记录到Django中的控制台_Django_Logging - Fatal编程技术网

DEBUG=False导致500个错误,无法强制将所有内容记录到Django中的控制台

DEBUG=False导致500个错误,无法强制将所有内容记录到Django中的控制台,django,logging,Django,Logging,我正在尝试对500错误进行故障排除,因为每当我在Django中设置DEBUG=False时,就会收到一个500错误 我试图设置允许的_HOSTS=['*'] 我尝试将日志设置为调试,并使用循环强制日志记录到控制台。然而,它不起作用,所以很有可能它没有做我认为它应该做的事情 我已从我的设置文件中附加了一个片段: settings.py: DEBUG = False LOGGING = { 'version': 1, 'disable_existing_loggers': Fals

我正在尝试对500错误进行故障排除,因为每当我在Django中设置DEBUG=False时,就会收到一个500错误

我试图设置允许的_HOSTS=['*']

我尝试将日志设置为调试,并使用循环强制日志记录到控制台。然而,它不起作用,所以很有可能它没有做我认为它应该做的事情

我已从我的设置文件中附加了一个片段:

settings.py:

DEBUG = False

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG'),
        },
    },
}

for logger in LOGGING['loggers']:
    LOGGING['loggers'][logger]['handlers'] = ['console']


ALLOWED_HOSTS = ['*']

服务器本身需要检查日志文件。原因是,如果django出错,则意味着设置尚未输入文件的.py解释器。这与您可以在服务器本身上看到日志的原因相同。所有这些都写得很清楚

这里有一个尝试添加它,有时它可以帮助
settings.py

    MIDDLEWARE = [
    'whitenoise.middleware.WhiteNoiseMiddleware', #Добавляем до 'django.middleware.security.SecurityMiddleware',
]

我的问题的解决方案是在settings.py中添加以下命令

DEBUG_PROPAGATE_EXCEPTIONS = True
此处描述:

在我的特定实例中,结果是我得到了一个值错误,该错误通过执行collectstatic修复

python manage.py collectstatic

相关的:


请共享错误消息和相关的回溯。否则,人们会猜测,当
调试
真时(我承认这是一种奇怪的情况),为什么您的项目可能抛出500个错误。我不确定如何获得回溯-您能详细说明一下吗?这是控制台中唯一显示的内容:[26/May/2020 02:48:15]“GET/pets/api/v2/HTTP/1.1”500 27我在浏览器中得到的唯一消息是:如果在项目的
settings.py
DEBUG=True
(从您的描述来看,确实是这样),那么当错误发生时,您应该会看到一个非常详细的错误页面。它将包括精确显示错误发生位置的回溯信息。它还可以让您查看致命错误发生之前执行过程中关键点的局部变量。(内容更漂亮。)@PaulBissex在我上面的例子中,它说‘DEBUG=False’——当‘DEBUG=True’时,它没有给出错误,这就是我的困境。但是,当我将其设置为false并使用开关“DEBUG\u PROPAGATE\u EXCEPTIONS=True”时,它给了我一个很好的堆栈跟踪。