首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python日志记录:以时间格式使用毫秒

Python日志记录:以时间格式使用毫秒
EN

Stack Overflow用户
提问于 2011-06-09 17:30:08
回答 9查看 123.1K关注 0票数 216

默认情况下,logging.Formatter('%(asctime)s')以以下格式打印:

代码语言:javascript
复制
2011-06-09 10:54:40,638

其中638是毫秒。我需要将逗号改为一个点:

代码语言:javascript
复制
2011-06-09 10:54:40.638

要格式化我可以使用的时间:

代码语言:javascript
复制
logging.Formatter(fmt='%(asctime)s',datestr=date_format_str)

但是,documentation并没有指定如何格式化毫秒。我已经找到了this SO question,它讲的是微秒,但a)我更喜欢毫秒,b)由于%f的原因,以下代码在Python2.6(我正在开发的版本)上不起作用

代码语言:javascript
复制
logging.Formatter(fmt='%(asctime)s',datefmt='%Y-%m-%d,%H:%M:%S.%f')
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-09-22 23:33:48

这也应该行得通:

代码语言:javascript
复制
logging.Formatter(fmt='%(asctime)s.%(msecs)03d',datefmt='%Y-%m-%d,%H:%M:%S')
票数 428
EN

Stack Overflow用户

发布于 2018-03-12 14:33:53

添加msecs是更好的选择,谢谢。以下是我在Blender中使用Python 3.5.3的修订

代码语言:javascript
复制
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s.%(msecs)03d %(levelname)s:\t%(message)s', datefmt='%Y-%m-%d %H:%M:%S')
log = logging.getLogger(__name__)
log.info("Logging Info")
log.debug("Logging Debug")
票数 46
EN

Stack Overflow用户

发布于 2017-02-26 05:42:53

我发现的最简单的方法是覆盖default_msec_format:

代码语言:javascript
复制
formatter = logging.Formatter('%(asctime)s')
formatter.default_msec_format = '%s.%03d'
票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6290739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档