Я создаю скрипт python и объект класса, который передает обработчики регистрации в последний. Обработчики создаются с помощью протоколирование класс следующим образом:Отключение регистраторов, если нет обработчиков
#Debug Handler
debug_handler = logging.FileHandler('Debug.log')
debug_handler.setLevel(logging.DEBUG)
#Info Handler
info_handler = logging.FileHandler('Normal.log')
info_handler.setLevel(logging.INFO)
Эти объекты обработчик передаются непосредственно в объект инициализаторе:
def __init__(self, type, path, info_handler = False, debug_handler = False):
#Establishes Class Logger
self.logger = logging.getLogger('LoggerName')
self.logger.setLevel(logging.DEBUG)
if (info_handler):
self.logger.addHandler(info_handler)
if (debug_handler):
self.logger.addHandler(debug_handler)
Моя цель состоит в том, чтобы обработчики полностью опционально для класс объектов, но для их использования я должен разбросать вызовы через код так же часто, как заявления печати. Пример:
self.logger.info('INITIALIZING RESULTS OBJECT')
Это означает, что это ошибка, если обработчики не пройдут. Как я могу управлять/аннулировать эти инструкции, не помещая try/catch на каждый звонок в коде?