相关疑难解决方法(0)

如何关闭日志缓冲区以使用python命令行工具实时获取日志?

我有一个命令行工具,可以生成大量日志。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).

谢谢!

python logging argparse python-3.x

6
推荐指数
1
解决办法
6821
查看次数

标签 统计

argparse ×1

logging ×1

python ×1

python-3.x ×1