Django日志和错误的位置
我用nginx设置了django服务器,它在一些页面中出现403错误 我在哪里可以找到django日志?在哪里可以查看详细错误?在Django日志和错误的位置,django,Django,我用nginx设置了django服务器,它在一些页面中出现403错误 我在哪里可以找到django日志?在哪里可以查看详细错误?在设置.py文件中设置。新的默认项目如下所示: # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error whe
设置.py
文件中设置。新的默认项目如下所示:
# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error when DEBUG=False.
# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}
默认情况下,这些不会创建日志文件。如果您想要这些,您需要将文件名
参数添加到处理程序
'applogfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': os.path.join(DJANGO_ROOT, 'APPNAME.log'),
'maxBytes': 1024*1024*15, # 15MB
'backupCount': 10,
},
这将建立一个旋转日志,可以获得15 MB的大小,并保留10个历史版本
在上面的loggers
部分中,您需要为应用程序的处理程序添加applogfile
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'APPNAME': {
'handlers': ['applogfile',],
'level': 'DEBUG',
},
}
本例将把日志放在Django根目录下名为APPNAME.log
的文件中,然后这些错误将在您指向它们的地方出现。默认情况下,它们往往会在杂草中消失,所以我总是先从良好的日志设置开始,然后再做其他事情
下面是一个非常好的基本设置示例:
编辑:新链接移动到:添加到您的设置。py
:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
它将在您的根目录中创建一个名为debug.log
的文件。
您在nginx和Django之间运行什么?古尼科恩?您正在使用supervisor吗?是否在settings.py文件中设置了DEBUG=True?如果是这样的话,如果错误看起来像这样,那么可能是django问题。如果403错误不是一条冗长的消息,那么我猜这是nginx的问题。如果是Django问题,请使用控制台启动Django服务器,然后转到给出错误的页面。希望控制台输出足以让您解决问题。请注意,Ian将其域重命名为Ian.pizza
,因此这里是实际链接:在Apache2上,wsgi将尝试在/var/www/debug.log
中创建一个文件。如果Django项目位于/var/www/
目录之外,这将创建两个单独的文件。请改用“文件名”:os.path.join(BASE\u DIR,'debug.log'),
。接受的答案对我不起作用。这适用于Django 2!我正在使用django 3.1,我得到了内部服务器错误
。有新的解决方案吗?请执行logger=logging.getLogger('APPNAME')
在这种情况下,您必须将此行添加到每个views.py