我有一个命令行工具,可以生成大量日志。stdout我希望这些日志一完成就发送给他们。现在,程序完成所有内容(可能需要几分钟),然后将所有内容stdout一次性发送给所有人。这意味着目前用户不知道内部发生了什么,我想改变这一点。
到目前为止,我已经尝试将-u标志作为命令行参数传递,但这并没有改变任何东西。我有一种感觉,我需要以某种方式使用logging.handlers.BufferingHandlerwith flush(),但我一直无法通过修补来弄清楚。
def some_func(flag: bool):
if flag:
logging.info('flag is truthy')
return
logging.warning('flag is falsy')
Run Code Online (Sandbox Code Playgroud)
我希望上述函数在创建日志后立即向用户显示其中一个日志。注意:目前我使用logging.root.setLevel(logging.INFO).
谢谢!