【问题标题】:Don't fail if log files are unavailable如果日志文件不可用,不要失败
【发布时间】:2017-01-22 09:33:50
【问题描述】:
我有一个 Django 应用程序部署到某个服务器。由于某种神秘的原因,其中一个日志文件的权限发生了变化,Django 无法再对其进行写入。结果是Django拒绝启动,uWSGI一直返回'internal server errors'。
如果 Python RotatingFileHandler 无法写入日志文件,我如何告诉它不要失败?最好的情况是尝试另一个文件或路径,但一个足够好的后备方法是不记录到这个特定文件。
【问题讨论】:
标签:
python
django
logging
【解决方案1】:
检查logging.raiseExceptions 的值。默认情况下设置为True,因为这是您想要的开发和测试环境。如果您将其设置为False,这通常是您在生产环境中想要的,那么日志记录错误应该被静默忽略(吞噬)。请参阅the documentation 了解更多信息。
【解决方案2】:
检查ps aux | grep 'uwsgi'。授予相应用户权限。
sudo chown <user> <logfile>