如何在Python中记录时区的当前时间?

时间:2018-04-10 09:59:33

标签: python-3.x logging timezone

我使用带有以下格式化程序的日志记录配置(YAML文件):

formatters:
    detailed:
        class: logging.Formatter
        format: '[%(asctime)s]:[%(levelname)s]: %(message)s'

asctime提供了2018-04-10 07:00:39,526之类的字符串,但我想获得当前时区,例如2018-04-10 07:00:39,526+02:00。没有work-around from Python 2.X吗?

是可能的吗?

1 个答案:

答案 0 :(得分:0)

您可以创建一个自定义的日志记录类,如下所示:

import logging
class FormatterWithTimezone(logging.Formatter):
    def formatTime(self, record, datefmt=None):
        return (
            time.strftime('%Y-%m-%d %H:%M:%S,%%03d%z', self.converter(record.created))
            % record.msecs)

然后设置要使用的此类,以代替logging.Formatter