【问题标题】:custom log format in bash loggerbash 记录器中的自定义日志格式
【发布时间】:2018-12-08 14:15:49
【问题描述】:

我有这样的默认日志格式:

+ logger --stderr '[START]'
<13>Jun 29 13:10:02 ada: [START]

但我需要这样的东西:

+ logger --stderr '[START]'
2018-06-29 11:11:43,524 1 INFO ada: [START]

我已经咨询了man logger,但没有关于如何进行自定义时间戳的说明。我希望有类似的东西:

+ export LOGGER_FORMAT="{year}-{date}-{month} ... {level} {user}: {message}"
+ logger --stderr '[START]'
2018-06-29 11:11:43,524 1 INFO ada: [START]

有这样的吗?

journalctl 已经做得很好了,它接收来自logger 命令的消息。它是如何工作的?

journalctl

-- Logs begin at Tue 2015-02-03 21:48:52 UTC, end at Tue 2015-02-03 22:29:38 UTC. --
Feb 03 21:48:52 localhost.localdomain systemd-journal[243]: Runtime journal is u

【问题讨论】:

    标签: linux bash shell logging systemctl


    【解决方案1】:

    logger 生成具有标准格式的syslog messages。时间戳有一种被禁止的格式,以便系统日志工具能够解析它。它不能也不应该改变。

    systemd 日志在生成 syslog 消息时对其进行解释,解析每个部分并将其以自定义格式存储在其内部数据库中。如果您想以不同的方式打印日志消息,您可以做同样的事情:阅读 syslog 消息的格式,编写脚本或正则表达式以提取组件片段,然后以您喜欢的方式打印出来。

    【讨论】:

      猜你喜欢
      • 2017-12-10
      • 1970-01-01
      • 2011-03-14
      • 2022-09-23
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 2019-11-15
      相关资源
      最近更新 更多