【发布时间】:2015-09-28 11:12:18
【问题描述】:
我正在使用 python 的日志记录模块来记录日志,但需要包含微秒的时间戳。似乎时间戳只能精确到毫秒。 这是我的测试代码
import logging
logging.basicConfig(format='%(asctime)s %(levelname)s {%(module)s} [%(funcName)s] %(message)s',
datefmt='%Y-%m-%d,%H:%M:%S:%f', level=logging.INFO)
class log2_test():
def test_class(self):
logging.warning("Warning2 inside the class")
def get_started2():
logging.info("Logged2 Here")
if __name__ == '__main__':
get_started2()
这是我得到的输出--
2015-07-09,16:36:37:f INFO {logger} [get_started2] Logged2 Here
不知何故,%f 无法识别。 Python 版本是 2.7.6。
如何让时间戳包含微秒? 提前致谢。
【问题讨论】:
-
@Vignesh Kalai "timestamp" 是一个词
-
你应该尝试谷歌搜索'logging datefmt',你会看到这已经得到了广泛的回答:stackoverflow.com/questions/6290739/…
-
@jonnybazookatone 提供的链接给了我解决方案。谢谢
-
@HanGu 你能把你使用的解决方案贴在这里并标记为答案吗?我正在尝试使用格式化程序获得微秒,但无法获得所有 6 位数字的真正微秒。现在我正在使用 6 位数形式的毫秒,如下所示:
logging.Formatter('%(asctime)s.%(msecs)06d', datefmt='%Y-%m-%d %H:%M:%S')如果其他人可以发布获得真正微秒的答案,那么这将是很棒的,因为这个问题出现在谷歌搜索这个主题上。