#django #django-logging
#django #django-ведение журнала
Вопрос:
Я следовал документации django и попытался использовать logger.error для сохранения ошибки в debug.файл журнала.
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.файл журнала.
Я не совсем уверен, как работает Django log. Это должно вести себя подобным образом или что-то не так с моим кодом? Кроме того, как сохранить «Поисковый запрос недействителен» в отладке.файл журнала? Большое спасибо!
Ответ №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!')
Ответ №2:
попробуйте указать полный путь к файлу '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