GreenGrass 日志中日期时间的格式

0

【以下的问题经过翻译处理】 有人了解在GreenGrass中使用的日期/时间格式名称吗?

例如,在/greengrass/v2/logs/greengrass.log中,使用的格式为2022-06-15T08:26:23.770Z

以下是示例日志:

2022-06-15T08:26:23.770Z [INFO] (Thread-5) com.aws.greengrass.shadowmanager.ipc.UpdateThingShadowRequestHandler: Successfully updated shadow. {service-name=au.com.blabla.gg_shadow_config, thing name=smartdvr-1423019132001, shadow name=config1, local-version=20102}

我正在尝试匹配GreenGrass日志格式,并使用普通的Python logging.Formatter 对一些与GreenGrass无关的日志文件进行格式设置,但我只使用一个logfile_upload组件来执行一次性logfile请求和CloudWatch响应,我希望他们是相同的格式。

logging.Formatter.formatTime = (lambda self, record, datefmt=None: datetime.datetime.fromtimestamp(record.created, datetime.timezone.utc).astimezone().isoformat(sep="T",timespec="milliseconds"))

会得到非常接近的格式:

2021-08-05T22:43:02.985614+00:00 Something logged here

但要将**+00:00** 替换为 Z。 Wikipedia的https://en.wikipedia.org/wiki/ISO_8601两种格式都有描述,但是对我没有帮助。

profile picture
专家
已提问 5 个月前45 查看次数
1 回答
0

【以下的回答经过翻译处理】 fh = RotatingFileHandler('/data/logs/gg_upload_logs.log', maxBytes=80000, backupCount=4) formatter = logging.Formatter( fmt='%(asctime)s.%(msecs)03dZ %(message)s', datefmt='%Y-%m-%dT%H:%M:%S') fh.setFormatter(formatter)

说明:实例化一个 RotatingFileHandler 对象,设置日志文件地址为 '/data/logs/gg_upload_logs.log',最大文件大小为 80000 字节,保留 4 个旧日志文件。 设置日志格式为 '%(asctime)s.%(msecs)03dZ %(message)s',日期格式为 '%Y-%m-%dT%H:%M:%S'。并将设置好的格式绑定到 fh 对象上。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则