Python logger не всегда регистрирует - PullRequest
0 голосов
/ 28 мая 2018

У меня проблема с регистрацией в моем скрипте Python.Я запускаю один и тот же сценарий несколько раз (для нескольких симуляций), используя Pool для повышения производительностиВ моем сценарии я использую регистратор с MemoryHandler, определенный как ниже:

capacity=5000000000
filehandler_name = SOME_NAME
logger = logging.getLogger(logger_name)
logger.setLevel(logging.DEBUG)

filehandler = logging.FileHandler(filehandler_name)
memoryhandler = logging.handlers.MemoryHandler(
                capacity=capacity,
                flushLevel=logging.ERROR,
                target=filehandler
                )

logger.addHandler(memoryhandler)

, и я регистрирую информацию, используя logger.info(...).Однако я заметил, что регистрация не всегда работает.Когда я проверяю разные файлы журналов (у меня по одному журналу на симуляцию), некоторые файлы журналов содержат данные, другие пустые.Не существует конкретного шаблона, в котором бывают пустые, а какие нет, обычно это происходит случайным образом.Я перепробовал много вещей, но, похоже, что-то упустил.Кто-нибудь есть какие-либо предложения о том, почему Python logger не всегда работает корректно?

1 Ответ

0 голосов
/ 28 мая 2018

Без фрагмента кода, я думаю, это вызвано многопроцессорностью, вы упомянули:

использование пула для повышения производительности ..

Вы можете проверить официальный документация о том, как использовать модуль логирования при многопроцессорной обработке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...