我使用的是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