Как настроить фильтрацию логирования при декларативном конфигурировании
Здравствуйте уважаемые специалисты. Мне необходимо настроить логирование с помощью словаря python.
У меня есть две функция для фильтрации логов по их уровню.
Как я могу прописать обращение к этим функциям в словаре. Ниже представлен словарь. Так как прописано там, не работает. Спасибо.
dict_config = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'base': {
'format': '%(levelname)s | %(name)s | %(asctime)s | %(lineno)d | %(message)s'
}
},
'handlers': {
'file_info': {
'class': 'logging.FileHandler',
'level': 'INFO',
'formatter': 'base',
'filters': ['info_filter'],
'filename': 'calc_info.log',
'mode': 'a'
},
'file_debug': {
'class': 'logging.FileHandler',
'level': 'DEBUG',
'formatter': 'base',
'filters': ['debug_filter'],
'filename': 'calc_debug.log',
'mode': 'a'
},
'file_error': {
'class': 'logging.FileHandler',
'level': 'ERROR',
'formatter': 'base',
'filename': 'calc_error.log',
'mode': 'a'
}
},
'loggers': {
'app': {
'level': 'DEBUG',
'handlers': ['file_info', 'file_debug', 'file_error']
},
'utils': {
'level': 'DEBUG',
'handlers': ['file_info', 'file_debug', 'file_error']
}
},
'filters': {
'info_filter': {
'()': 'info_filter'
},
'debug_filter': {
'()': 'debug_filter'
}
},
}