я пытаюсь добавить запись в мой проект django
вот моя конфигурация логгера:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'standard': {
'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s',
},
},
'handlers': {
'default': {
'class': 'logging.FileHandler',
'filename': os.path.join(*[BASE_DIR, 'logfiles', 'debug.log']),
'formatter': 'standard',
},
'apps_errors': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': os.path.join(*[BASE_DIR, 'logfiles', 'apps_errors.log']),
'formatter': 'standard',
},
'dev_logger': {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': os.path.join(*[BASE_DIR, 'logfiles', 'apps_logs.log']),
'formatter': 'standard',
},
},
'loggers': {
'': {
'handlers': ['default'],
'level': 'DEBUG',
'propagate': False,
},
'gui': {
'handlers': ['dev_logger', 'apps_errors'],
'propagate': True,
},
'crawler': {
'handlers': ['dev_logger', 'apps_errors'],
'propagate': True,
},
},
}
Как видите, я хочу записать все на debug.log
и регистрировать ошибки в приложениях (сканер и графический интерфейс) в apps_errors.log
и записывать информацию о приложениях (сканер и графический интерфейс) в apps_logs.log
debug.log и apps_errors.log работают нормально, все регистрируется на debug.log
, и только ошибки в моих 2 приложениях регистрируются на apps_errors.log
, но когда дело доходит до apps_logs.log
, я продолжаю получать оба ошибки и информация, когда она должна быть только информация
кстати, когда я хочу записать что-то, что я делаю
import logging
logger = logging.getLogger(__name__)
для информации, которую я делаю: logging.info(my_info)
для ошибок, которые я делаю: logging.exception(my_exception)
я также пытался logging.error(my_exception)
PS:
я попытался определить два регистратора, по одному для каждого обработчика, но при этом регистрировал только ошибки, используя регистратор / обработчик ошибок, информационный журнал не работает
'gui': {
'handlers': ['dev_logger'],
'level': 'INFO',
'propagate': True,
},
'gui': {
'handlers': ['apps_errors'],
'level': 'ERROR',
'propagate': True,