OS:SLes 11 sp4 syslog-ng:syslog-ng-2.0.9-27.34.39.2
您好,
syslog-ng配置为从应用程序日志文件中读取,然后将其发送到/ var / log中的另一个文件(未安装tcpdump,我无法将其安装在黑盒上,所以这就是我测试配置的方式)< / p>
我的syslog-ng配置文件中有以下内容:
source ESRS {
file("/opt/esrsve/gateway/xGate.log");
};
destination esrsfile{ file("/var/log/max.log" );};
log { source(ESRS);
destination(esrsfile);
};
我看到的问题是,当syslog写入输出文件(esrsfile)时,它会截断行。
ex:源文件: [0,6,1,1007] 08-29-2016 13:56:28.703重要信息EDDEMC:数据项:: PMStatus 当前值::离线
目标文件像这样:
... ... 8月29日14:00:02主机名C
Aug 29 14:00:02 hostname u
Aug 29 14:00:02 hostname r
Aug 29 14:00:02 hostname r
8月29日14:00:02主机名e
Aug 29 14:00:02 hostname n
Aug 29 14:00:02 hostname t
8月29日14:00:02主机名
8月29日14:00:02主持人V
8月29日14:00:02主机名a
8月29日14:00:02 hostname l
Aug 29 14:00:02 hostname u
8月29日14:00:02主机名e
8月29日14:00:02主持人姓名:
8月29日14:00:02主持人姓名:
8月29日14:00:02主机名O
8月29日14:00:02主机名f
8月29日14:00:02主机名f
8月29日14:00:02 hostname l
8月29日14:00:02主持人我
Aug 29 14:00:02 hostname n
8月29日14:00:02主机名e
... ...
请问有什么问题?
答案 0 :(得分:0)
仔细观察时,这些行不会被截断,但是一个日志条目会逐行扩展到多行。它通常发生在日志写入器写完每个字符后刷新时。
确保编写器缓冲行并将它们作为单个消息发送。