gpt4 book ai didi

python - 在 Jupyter Notebook 中以正确的顺序获取日志输出和标准输出

转载 作者:行者123 更新时间:2023-12-05 05:04:01 25 4
gpt4 key购买 nike

logging 在 Jupyter Notebook 中输出乱序,这里是一个例子。

普通 ipython session :

In [1]: import logging                                                          

In [2]: for i in range(5):
...: print(i)
...: if i == 3:
...: logging.critical("critical")
...:
0
1
2
3
CRITICAL:root:critical
4

In [3]:

但在 Jupyter Notebook 中,输出是乱序的:

enter image description here

logging 输出在其他所有内容之前打印。这使得调试变得不可能,因为人们会丢失任何指示 logging 语句发生的位置。

任何日志记录级别都会发生这种情况。

我怎样才能以正确的顺序获得输出,而不是 logging 输出有自己的特殊位置?

最佳答案

您可以通过将 stream 设置为 sys.stdout 来解决这个问题。我猜这将消除对 Jupyter Notebook 中记录消息的任何特殊处理。

import logging
import sys
logging.basicConfig(stream=sys.stdout)

enter image description here

关于python - 在 Jupyter Notebook 中以正确的顺序获取日志输出和标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61307831/

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