有没有一种方法可以使Python记录器以ISO8601格式输出日期。
我的记录器设置如下...
logging.basicConfig(
format="%(message)s - %(asctime)s)
从Python文档(位于此处:https://docs.python.org/2/howto/logging.html),您可以看到以下内容:
日期/时间显示的默认格式(如上所示)为ISO8601。如果您需要更好地控制日期/时间的格式,请提供datefmt参数为basicConfig,如本例所示:
唯一的问题是日期输出不是ISO8601格式。上面的格式化程序输出的日期是:
2018-06-15 11:07:41,454
这不是此处定义的ISO8601格式:https://en.wikipedia.org/wiki/ISO_8601
以正确的格式获取日期的最简单方法是什么?可以开箱即用吗?或者我需要导入软件包才能做到这一点?
我尝试添加日期格式器,例如datefmt="%Y-%m-%dT%H:%M:%S.%f %Z"
,但某些格式字符无法识别-即%f
和%Z
给出了时区的文本描述,而不是数字偏移量。
[在大多数情况下对我有用:
logging.basicConfig(
format="%(asctime)s %(message)s",
datefmt="%Y-%m-%dT%H:%M:%S%z"
)
输出看起来像:
2019-11-09T01:18:13-0800 Something logged here
使用Python 3.8,不确定较旧的版本