有一个工作django
项目具有以下日志配置(settings.py
)
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'logfile': {
'class': 'logging.FileHandler',
'filename': 'server.log',
},
'console':{
'class':'logging.StreamHandler'
}
},
'loggers': {
'django': {
'handlers': ['console', 'logfile'],
},
},
}
一切正常,日志已写入。
有时需要django
通过命令行输入manage.py
,像这样
(env) a@prod:~/path_to_manage$ python3 manage.py shell
在这个阶段我收到一个错误
raise ValueError('Unable to configure handler'
ValueError: Unable to configure handler'logfile'
我客观地清楚,在这种情况下,我无法访问server.log
. 也就是说,如果您查看日志,那么我会看到
PermissionError:[Errno 13] 权限被拒绝:'/home/path_to_project/server.log'
谁知道如何配置配置以避免这种行为。也就是说,为了现在进入控制台django
,我需要在设置中注释掉LOGGING
,然后一切正常,我没有收到错误,但日志(这是合乎逻辑的)也没有写入。
事实上,从问题本身来看,一切都很清楚。我检查了文件和组的所有者是谁,一切都到位了。由于不是我部署服务器,我只能猜测这是怎么发生的。
总而言之:
结论
LOGGING
并settings.py
运行