【问题标题】:How to change/customize log formats in /var/log/messages ,/var/log/secure etc如何更改/自定义 /var/log/messages 、/var/log/secure 等中的日志格式
【发布时间】:2015-10-09 06:50:20
【问题描述】:

我想更改打印在 /var/log/messages 中的日志消息格式。

我也检查了 rsyslog.conf 文件,但我没有找到与此相关的任何内容。 请帮忙。

【问题讨论】:

  • 编辑代码;它是开源的。但请注意,也有一些工具可以读取日志,并且弄乱日志的内部结构很可能会破坏这些工具。您始终可以编写一些可以将日志输入的内容,对其进行解析并以您想要的格式将其重新打印到文件中。
  • 我做了 rsyslog.conf 的 man,我发现有模板指令。但是不明白如何使用它。
  • 不知道我是怎么错过的。阅读手册页后,很明显它并没有准确说明。 .conf 文件中的一行提到了模板名称,但默认 .conf 文件中提到的唯一模板是默认模板。您可能只是用您自己的模板替换该提及;手册页有许多模板示例。除此之外,您还需要the real documentation。

标签: linux logging syslog rsyslog


【解决方案1】:

我认为模板是您所追求的:http://www.rsyslog.com/doc/v8-stable/configuration/templates.html

请注意,这些文档适用于版本 8。如果您没有它,您可能希望从 rsyslog.com 获取它,例如通过包:http://www.rsyslog.com/downloads/download-other/

定义好模板后,您可以使用它来写入文件,例如

action(
  type="omfile"
  file="/var/log/messages"
  template="your-template"
)

关于动作指令的更多细节可以在这里找到:http://www.rsyslog.com/doc/v8-stable/configuration/actions.html

特别是关于文件输出:http://www.rsyslog.com/doc/v8-stable/configuration/modules/omfile.html

【讨论】:

  • 是的,我在关注rsyslog.com/doc/v8-stable/configuration/templates.html。但是,我想在模板中设置自定义消息。即 $template sampletemplate,",|%syslogpriority%,host_ip=$ip,|%syslogfacility% |,timestamp=%timegenerated%,host_name=%HOSTNAME%,%syslogtag%,%msg%,user=?,source=? \n .所以,我想复制?标记来自应用程序/脚本的自定义信息。
  • 如果您想从您的应用发送自定义内容并在您的模板中使用它,我建议您发送 JSON 并对其进行解析。这是一个完整的方法:blog.sematext.com/2013/05/28/… 虽然现在你也有 mmjsonparse 的包,所以它应该更简单。
猜你喜欢
  • 2017-04-29
  • 2015-12-07
  • 2019-01-15
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 2015-01-27
  • 2016-02-29
  • 2013-07-05
相关资源
最近更新 更多