Я следил за документацией 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? Большое спасибо!





попробуйте указать полный путь к файлу '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
используйте имя, которое вы указали в 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!')