gpt4 book ai didi

python - 向 Python 打印添加日期时间戳

转载 作者:太空狗 更新时间:2023-10-29 17:13:05 27 4
gpt4 key购买 nike

我正在尝试调试我所依赖的一个大型 库的行为,该库在其许多源文件中使用了分散的(没有过多的)调试打印语句。问题是,大多数(如果不是全部)这些调试打印语句不包含日期/时间戳,因此很难将应用程序级别的故障与库代码本身的故障相关联。

与其修改所有怀疑与我所看到的故障有关的调试打印的源代码,我认为可以猴子暂时修补内置的 Python 打印“功能”,以便所有输出都以时间戳为前缀。

built-in print is not a function在我使用的 Python 2.6 环境中,我不知道这是否可行。如果有人这样做或使用另一个 Python 钩子(Hook)取得了类似的结果,那么我将不胜感激你的建议,或者更好的代码来解决这个问题。

最佳答案

由于您无法覆盖 write 函数(它是只读的),一个简单的猴子补丁可能如下所示(将时间戳附加到每个打印行):

old_f = sys.stdout
class F:
def write(self, x):
old_f.write(x.replace("\n", " [%s]\n" % str(datetime.now())))
sys.stdout = F()

一个例子看起来像这样:

>>> print "foo"
foo [2011-02-03 09:31:05.226899]

关于python - 向 Python 打印添加日期时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4883789/

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