Столкнулся с проблемой при ручном вызове логгера:
import logging
logger = logging.getLogger(__name__)
def test(request):
logger.error("this is an error message!")
return HttpResponse('ok')
Ни в консоли, ни в лог-файле никакие сообщения не появлиются.
При этом стандартные ошибки и предупреждения пишутся как надо, всё на месте.
Вот часть конфига отвечающая за логи:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'null': {
'level': 'DEBUG',
'class': 'logging.NullHandler',
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
# Log to a text file that can be rotated by logrotate
'logfile': {
'class': 'logging.handlers.WatchedFileHandler',
'filename': os.path.join(PROJECT_PATH, '../../logs/django.log')
},
},
'loggers': {
'django': {
'handlers': ['console', 'logfile'],
'propagate': True,
'level': 'INFO',
},
'django.request': {
'handlers': ['console', 'logfile'],
'level': 'ERROR',
'propagate': False,
}
}
}
Как сделать чтобы ручное логирование корректно писалось в файл?