【发布时间】:2017-03-30 10:02:31
【问题描述】:
我在写日志时遇到了一些令人困惑的问题......
下面是我的setting.py:
DEBUG = True
TEMPLATE_DEBUG = DEBUG
.....
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'
},
'logfile': {
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.getenv('LOGFILE', 'django.log')
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'django': {
'handlers': ['logfile'],
'level': 'INFO',
'propagate': False,
}
}
}
** 我想将所有 INFO 消息传递给 django.log。
当我在 localhost 测试运行服务器时,它会正确写入 django.log。
在我发布到 Azure Web 应用服务并设置“应用程序设置”=>“应用程序设置”后,添加新路径 LOGFILE D:\home\site\wwwroot\logfiles\django.log。 enter image description here
我向我的应用服务发送了一些请求,然后登录 DebugConsole 以查看 D:\home\site\wwwroot\logfiles\django.log 文件。 enter image description here
此日志文件(django.log)中没有任何内容,我尝试在 DebugConsole 修改它,它会出现 ERROR 409 confict: Could not write to local resource 'D:\home\site\wwwroot\ logfiles\django.log' 由于错误“进程无法访问文件 'D:\home\site\wwwroot\logfiles\django.log' 因为它正被另一个进程使用。”。
似乎 Django 无法在 django.log 中写入任何内容或权限问题?我能怎么做? 有人可以帮忙解决这个问题吗?
【问题讨论】:
-
根据官方博客Debug Django Web Application in Azure Web Apps,请将
DEBUG选项切换为FALSE,然后重试。有任何更新,请随时告诉我。
标签: python django azure logging django-models