Logback 只会将消息记录到 syslog 一次
Posted
技术标签:
【中文标题】Logback 只会将消息记录到 syslog 一次【英文标题】:Logback will only log a message to syslog once 【发布时间】:2020-11-29 03:25:16 【问题描述】:我已经尝试了几个使用 logback 写入 syslog 的示例,但我发现唯一有效的是这个 JavaCodeGeeks example。它会向 syslog 写入一条消息,但无论我运行多少次代码,它都只会写入一次消息。如果我更改消息,它会将其写入 syslog,但只会写入一次。
我使用的是 Ubuntu 19.10。我已从 /etc/rsyslog.conf 中取消注释以下四行并重新启动:
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
我对 javacodegeeks 代码所做的唯一更改是注释掉 logback.xml
中的远程附加程序。它只记录到本地主机系统日志。
是什么导致了这种奇怪的行为?
【问题讨论】:
【参考方案1】:要记录您必须设置的所有消息
$RepeatedMsgReduction off
在/etc/rsyslog.conf
并重新启动 rsyslog。
https://www.rsyslog.com/doc/v8-stable/configuration/action/rsconf1_repeatedmsgreduction.html
在 Ubuntu 19.10 中默认为 on
。
【讨论】:
以上是关于Logback 只会将消息记录到 syslog 一次的主要内容,如果未能解决你的问题,请参考以下文章
未设置 logback logstash 编码器 Syslog 标头