Python logger исключение в файл - PullRequest
0 голосов
/ 31 октября 2019

Я использую Ведение журнала . Регистратор пишет только в файл. (и не для стандартного вывода.) В некоторых случаях регистратор вызывает исключение из метода регистратора. Моя цель - сказать регистратору не записывать что-либо в стандартный out / err в случае возникновения какой-либо ошибки. Все внутренние исключения должны обрабатываться внутренне и записываться в файл журнала.


Подробности:

Мой логгер поднял charmap Ошибка. Эта конкретная проблема была решена на основе этой ветки. Но я боюсь, что в конкретном случае может произойти другое исключение (ошибка ввода-вывода файла и т. Д.) На поле, что очень расстраивает, что регистратор выходит из строя во время работы системы. Я хочу убедиться, что регистратор вообще ничего не печатает на стандартном out / err.


Мое ожидаемое поведение примерно такое:

try:
    logger.debug('Some error maker')
except:
    try:
        logger.debug('Error during log')
    except:
        pass

Просто, конечноЯ не хочу писать try-кроме всех моих операторов логгера.

Есть ли в логгере что-то похожее? Что-то тихий режим?

1 Ответ

1 голос
/ 31 октября 2019

А как насчет такой функции?

def my_logger(thing_to_log):
    try:
        logger.debug(thing_to_log)
    except Exception:
        try:
            logger.debug('Error during log')
        except Exception:
            pass

В остальном коде вам понадобится только:

my_logger(thing_to_log)
...