gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:03:11 25 4
gpt4 key购买 nike

我有一个命令行工具,可以生成大量日志。我希望这些日志在生成后立即发送到 stdout 。现在,程序完成所有内容(可能需要几分钟),然后将所有内容一次性发送到 stdout。这意味着目前用户不知道内部发生了什么,我想改变这一点。

到目前为止,我已经尝试将 -u 标志作为命令行参数传递,但这并没有改变任何东西。我有一种感觉,我需要在某种程度上将 logging.handlers.BufferingHandlerflush() 一起使用,但我无法通过修补弄清楚它。

def some_func(flag: bool):
if flag:
logging.info('flag is truthy')
return
logging.warning('flag is falsy')

我希望上述函数在创建日志后立即向用户显示这些日志之一。注意:目前我使用 logging.root.setLevel(logging.INFO) 设置日志记录级别。

谢谢!

最佳答案

您必须设置环境变量 PYTHONUNBUFFERED=1。

关于python - 如何关闭日志缓冲区以使用python命令行工具实时获取日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55593017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com