我通过log4j和SyslogAppender将数据记录到Splunk。有时,信息显示在Splunk中,带有省略号(...),而不是带有一些奇数间距的实际文本。当我将同一事件记录到RollingFileAppender时,它会正常记录。有谁知道为什么会这样,以及如何解决它? 谢谢!
实施例:
InboundTxnDate:20130926 16:53:14:475
出...
... boundTxnTypeCode:UNK
答案 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]+\.\.\."