首页 > 解决方案 > Logback 只会将消息记录到 syslog 一次

问题描述

我尝试了几个使用 logback 写入 syslog 的示例,但我发现唯一有效的是这个JavaCodeGeeks 示例。它会向 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. 它只记录到本地主机系统日志。

是什么导致了这种奇怪的行为?

标签: javalogbacksyslog

解决方案


要记录所有消息,您必须设置

$RepeatedMsgReduction off

/etc/rsyslog.conf重新启动 rsyslog。

https://www.rsyslog.com/doc/v8-stable/configuration/action/rsconf1_repeatedmsgreduction.html

默认设置on在 Ubuntu 19.10 中。


推荐阅读