在Python中设置语言环境以进行日志记录

时间:2014-03-18 18:28:12

标签: python logging locale

我正在尝试使用Python日志框架。除了一件事,它运作良好。

此示例代码:

import logging

FORMAT = '%(asctime)-15s %(message)s'
logging.basicConfig(format=FORMAT, level=logging.INFO)
logging.info('test')

生成此输出:

2014-03-18 11:23:43,082 test

请注意逗号而不是“。”将秒与毫秒分开。我们在美国,应该有一个控制它的地方。

我可以设置什么,以便默认的区域设置信息使用句点“。”小数分隔符?

3 个答案:

答案 0 :(得分:2)

毫秒不是语言环境的一部分 - 您无法使用例如strftime。因此,根据ISO 8601明确地加上具有毫秒的,nnn

更新:虽然标准允许使用点或逗号,但这意味着首选逗号。目前,日志记录不允许对其进行配置,因此如果您需要,请参阅重复问题中的this answer

答案 1 :(得分:0)

在basicConfig上试试这个:

logging.basicConfig(format=FORMAT, level=logging.INFO, datefmt="%Y-%m-%d %H:%M:%S")

代替:或 - 在我的代码中,如果您愿意,可以使用任何字符。

输出:

2014-03-19 00:48:22 test

答案 2 :(得分:0)

logging.basicConfig()调用之后,以下代码片段在Python 3.4中适用于我:

for h in logging.getLogger().handlers:
    h.formatter.default_msec_format = '%s.%03d'