У меня есть инструмент командной строки, который производит много журналов.Я хочу, чтобы эти журналы отправлялись на stdout
, как только они были сделаны.Прямо сейчас программа завершает все (что может занять несколько минут), а затем отправляет все на stdout
все сразу.Это означает, что в настоящее время пользователь не знает, что происходит внутри, и я хочу это изменить.
До сих пор я пытался передать флаг -u
в качестве аргумента командной строки, но это неничего не меняюУ меня такое чувство, что мне нужно использовать logging.handlers.BufferingHandler
с flush()
в некотором качестве, но я не смог разобраться с этим через мастеринг.
def some_func(flag: bool):
if flag:
logging.info('flag is truthy')
return
logging.warning('flag is falsy')
Я бы хотел, чтобы вышеуказанная функцияпокажите пользователю один из этих журналов, как только он будет создан.Примечание: в настоящее время я устанавливаю уровень ведения журнала с помощью logging.root.setLevel(logging.INFO)
.
Спасибо!