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
EXPERTE
gefragt vor 5 Monaten51 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen