我使用的是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。
如何获取包含微秒的时间戳?
事先谢谢。
最佳答案:
我认为strftime()不会直接支持%f。记录器提供毫秒作为单独的毫秒,因此您可以在现有时间戳之后自己添加它,如下所示:logging.basicConfig(format='%(asctime)s.%(msecs)03d %(levelname)s {%(module)s} [%(funcName)s] %(message)s', datefmt='%Y-%m-%d,%H:%M:%S', level=logging.INFO)
这使用脚本为我提供了以下输出:
2015-07-10,09:21:16.841 INFO {test script} [get_started2] Logged2 Here