我遵循了django文档,并尝试使用logger.error将错误保存到debug.log文件中。
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
import logging
logger = logging.getLogger(__name__)
...... // some code here
if not data:
logger.error('Search term is not valid')
在控制台中会打印出“搜索词无效”一词,但不会将其保存到debug.log文件中。
我不太确定Django日志的工作方式。它应该表现得那样还是我的代码有问题?另外,如何将“搜索词无效”保存到debug.log文件中?非常感谢!
答案 0 :(得分:1)
使用您在settings.py
中给定的名称,在您的情况下为django
import logging
# use name that you have given in settings in your case it is django
logger = logging.getLogger('django')
def my_view(request, arg1, arg):
...
if bad_mojo:
# Log an error message
logger.error('Something went wrong!')
答案 1 :(得分:0)
尝试提供文件'filename': '/path/to/django/debug.log'
的完整路径
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/path/to/django/debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
参考:https://docs.djangoproject.com/en/2.1/topics/logging/#examples