我尝试使用我的应用程序调试服务器错误500。我已经读过您应该使用rhc tail
来显示实时日志流,并且当前错误时,尝试显示该页面时显示的日志流是:
==> app-root / logs / python.log< ==
79.24.253.62 - - [01 / Jan / 2015:08:32:17 -0500]" GET / url / HTTP / 1.1" 500 27" http://a-b.rhcloud.com/" " Mozilla / 5.0(Macintosh; Intel Mac OS X 10_10_0)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 39.0.2171.95 Safari / 537.36"
显示的错误是:
其他页面有效,此错误仅出现在某些"更高级"页面(例如,静态页面显示正确)。日志的其余部分是:
==> app-root / logs / python.log< ==
[2015年1月1日08:30:43] [通知]启用SELinux政策; httpd作为上下文运行unconfined_u:system_r:openshift_t:s0:c6,c654
[2015年1月1日08:30:43] [通知]摘要:为摘要认证生成秘密......
[2015年1月1日08:30:43] [通知]摘要:完成
[2015年1月1日08:30:43] [通知] Apache / 2.2.15(Unix)mod_wsgi / 3.4配置Python / 3.3.2 - 恢复正常操作
和
==> app-root / logs / postgresql.log< ==
2015-01-01 13:30:25 GMT日志:关闭
2015-01-01 13:30:25 GMT LOG:数据库系统关闭
2015-01-01 13:30:31 GMT日志:无法绑定统计信息收集器的套接字:权限被拒绝
2015-01-01 13:30:31 GMT LOG:为统计数据收集器尝试另一个地址
2015-01-01 13:30:31 GMT日志:无法绑定统计信息收集器的套接字:无法分配请求的地址
2015-01-01 13:30:31 GMT日志:因缺乏工作套接字而禁用统计信息收集器
2015-01-01 13:30:31 GMT警告:因错误配置而未启动autovacuum
2015-01-01 13:30:31 GMT提示:启用" track_counts"选项。
2015-01-01 13:30:31 GMT日志:数据库系统在2015-01-01 13:30:25 GMT关闭
2015-01-01 13:30:31 GMT LOG:数据库系统已准备好接受连接
调试此问题的下一步是什么?
答案 0 :(得分:2)
我添加了以下Django日志记录配置,它为我提供了django.log文件中500个错误的详细信息。我设置LOG_DIR = os.environ.get('OPENSHIFT_LOG_DIR')
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'WARNING',
'class': 'logging.FileHandler',
'filename': os.path.join(LOG_DIR, 'django.log'),
},
},
'loggers': {
'django.request': {
'handlers': ['file'],
'level': 'WARNING',
'propagate': True,
},
},
}