syslog或splunk消息中出现意外省略号

时间:2013-09-26 23:56:57

标签: log4j syslog splunk

我通过log4j和SyslogAppender将数据记录到Splunk。有时,信息显示在Splunk中,带有省略号(...),而不是带有一些奇数间距的实际文本。当我将同一事件记录到RollingFileAppender时,它会正常记录。有谁知道为什么会这样,以及如何解决它? 谢谢!

实施例: InboundTxnDate:20130926 16:53:14:475
出...
... boundTxnTypeCode:UNK

2 个答案:

答案 0 :(得分:1)

这是syslog appender的工作方式,如果它大于1019字节,它们会分割日志消息。分割日志消息时,此消息将以省略号结束,下一条消息以省略号开头。消息限制(1019字节)是硬编码的,无法通过log4j中的配置进行更改。查看RFC 3164并查看SyslogAppender

的源代码

答案 1 :(得分:0)

  

有人知道为什么会这样吗

Ondřej Benkovský answered that very well我没有任何补充。

  

如何解决?

如果分割线是Splunk中同一事件的一部分,您可以通过编辑$SPLUNK_HOME/etc/system/local/props.conf并添加如下所示的节来加入它们:

[<spec>]
SEDCMD-join_log4j_syslog_lines=s/\.\.\.[\r\n]+\.\.\.//g

这将在索引时加入行并删除省略号。

请注意,您需要按props.conf文档中的详细说明更改<spec>

您可以使用regex search command确保其有效:

 | regex "\.\.\.[\r\n]+\.\.\."