<b>问题:</b>
<b> 在将应用程序日志通过rsyslog服务推送到远程日志服务器上时,在几小时之后发现磁盘大量消耗,并发现/var/log/messages 文件超过10g。会什么会这样呢?</b>
<b></b>
配置如下:

注意最后两行的发送规则:
programname == '${app_name}' then @@xxx:port;logline_${app_name}
if \$programname == '${app_name}' then stop
实验发现if \$programname == '${app_name}' then stop 他会不停的将access_log.log文件内容写入到/var/log/messages(centos),导致系统日志文件不停增长。
<b>解决办法:</b>
将最后一条规则修改:
将if \$programname == '${app_name}' then stop
修改为:
if \$programname == '${app_name}' then ~ (注意“~”中文字符)
在rsyslog中"~" 表示将匹配到的项目字符丢弃,不会被再次记录到系统日志文件中。
配置修改后需重启rsyslog服务。