bash记录器中的自定义日志格式

时间:2018-06-29 11:33:28

标签: linux bash shell logging systemctl

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

+ 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

1 个答案:

答案 0 :(得分:1)

logger生成具有标准格式的syslog messages。时间戳记有一种禁止使用的格式,以便syslog工具能够对其进行解析。不能也不应更改。

systemd日志会在生成syslog消息时对其进行解释,以自定义格式解析并将每个部分存储在其内部数据库中。如果要以不同的方式打印日志消息,则可以执行相同的操作:阅读syslog消息的格式,编写脚本或正则表达式以提取组件,然后按自己的喜好打印出来。 / p>