java - 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
. 它只记录到本地主机系统日志。
是什么导致了这种奇怪的行为?
解决方案
要记录所有消息,您必须设置
$RepeatedMsgReduction off
并/etc/rsyslog.conf
重新启动 rsyslog。
https://www.rsyslog.com/doc/v8-stable/configuration/action/rsconf1_repeatedmsgreduction.html
默认设置on
在 Ubuntu 19.10 中。
推荐阅读
- java - 运行 r:setPlotDevice 和 JavaGD 时出现致命错误
- javascript - 父子复选框选择
- python - 随机播放两个 python 列表
- node.js - 获取行的单元格
- kubernetes - Kubernetes-JAVA-API 资源
- unit-testing - 如何在golang中模拟通过测试的方法
- c++ - 我正在从 BMP 文件中读取像素的 RGB 值,但没有得到正确的值
- ionic-framework - 如何查询子集合 firestore ionic 4
- python - 如何使用 tkinter 正确显示熊猫数据框?
- typescript - 作为参数类型调用的函数