如何在 Argo Workflows pod 中显示每一行的时间戳?

问题描述

我想弄清楚如何为 Argo Workflows pod 的每一行 STDOUT 显示时间戳。 initwait 容器显示时间戳,但从不显示 main 容器。

Argo CLI 在 viewing logs 时有一个 --timestamp 标志。

还有 argo-java-client一个 logoptionsTimestamps 属性,它也启用时间戳。

但是在 YAML 中定义工作流时我找不到类似的选项。我已经浏览了 field reference guide,但没有找到可以在 main 容器中启用时间戳的内容

有谁知道这是否可行,或者如何启用它们?

谢谢, 韦尔登

解决方法

initwait 日志语句具有时间戳的原因是 Argo 可执行文件的记录器默认写入时间戳。

--timestamps 选项不会导致容器本身记录时间戳。它只是用时间戳装饰每个日志行(kubectl 有一个类似的选项)。

据我所知,无法以声明方式使 main 容器中运行的代码记录时间戳。您必须修改代码本身才能使用插入时间戳的记录器。