Django:防止来自shell的日志记录权限错误

时间:2010-10-20 18:02:41

标签: django

从Django shell(manage.py shell),当尝试导入使用日志记录的python模块时,我遇到了权限问题:日志文件归Web应用程序用户所有

IOError: [Errno 13] Permission denied: '/path/to/my.log'

有没有办法禁用/ mock /解决这个问题所以我可以使用shell中的模块?

3 个答案:

答案 0 :(得分:1)

使用备用设置文件加载所有正常设置,然后修改日志文件的位置。

答案 1 :(得分:1)

我目前正在处理这个问题,我目前的计划是在settings.py中检查对日志目录的写访问权。

如果我没有它,那么我会向stderr写一个警告并跳过日志处理程序的配置而不是失败。

答案 2 :(得分:0)

你可以使用try-except块:尝试写入日志文件,如果还有IOException,要么将日志写入别处(/ tmp或当前目录),要么只是禁用日志记录。

另请参阅:http://docs.python.org/tutorial/errors.html#handling-exceptions