gpt4 book ai didi

python - 用日志数量而不是 %asctime 标记 python 记录器文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:42 27 4
gpt4 key购买 nike

我在我的 Python 2.7 代码中使用一个记录器来创建一个 CSV 来绘制。它在没有 RTC 的嵌入式模块上运行。我对时间戳没有任何用处,但想包含一个标签,这样我就可以更轻松地绘制它们。记录器的设置方式使其在重新启动之间继续。

我目前正在使用提供如下标签的格式化程序进行日志记录:

# Add formatter to the file handler.
formatter = logging.Formatter('%(asctime)s,%(message)s','%H:%M:%S')
fh.setFormatter(formatter)

但是由于开发板没有 RTC,所以我只想将行号记录为标签而不是时间。

如何解决这个问题?我不能只有一个递增的整数,因为下次程序启动时它将从头开始而不是递增。

提前致谢!

最佳答案

要在记录器输出中显示当前代码行,这可能是您的答案

import logging
from inspect import currentframe, getframeinfo


logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(line)s - %(message)s')

logger = logging.getLogger()

logger.debug('Hi', extra={'line': getframeinfo(currentframe()).lineno})

如果要显示打开的文件或 CVS 的行号,可以将 extra 字典中的值更改为适当的属性。

请不要忘记在所有调试语句中包含extra 字典。

干杯! :)

关于python - 用日志数量而不是 %asctime 标记 python 记录器文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48449126/

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