在我們的java項目中,我們將日誌發送到各種appender。如何通過更改像log4j.xml這樣的配置文件(不需要干涉代碼),將日誌寫入rsyslog所有從「error」級別和更高級別寫入這些appender的日誌?將現有log4j appenders的日誌寫入所有帶有調試級別「錯誤」或更高級別的日誌到rsyslog
在How to log error and info messages separately into syslog with log4j?,有一個解釋如何創建一個新的appender,並從我的理解,跟進與答案我需要觸摸代碼。
我的log4j的版本是:2.4.1 這裏是我們寫的一臺機器一個小的log4j.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" monitorInterval="5">
<Appenders>
<RollingRandomAccessFile name="RollingRandomAccessFile" fileName="log/la.full.log" filePattern="log/la.full.%d{yy-dd-MM}.%i.log">
<PatternLayout>
<Pattern>%highlight{%d{DEFAULT}|%5p|%6t|%X|%m%n}</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="100"/>
</RollingRandomAccessFile>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%highlight{%d{DEFAULT}|%5p|%6t|%X|%m%n}"/>
</Console>
</Appenders>
<Loggers>
<Root level="debug" additivity="false">
<AppenderRef ref="STDOUT" level="DEBUG"/>
<AppenderRef ref="RollingRandomAccessFile" level="DEBUG"/>
</Root>
</Loggers>
</Configuration>
您可以添加一個配置代表片段嗎?你很可能不需要觸摸代碼。 – Fildor
哦,請添加您使用的log4j版本。 < 2.0 and > = 2.0之間有一些主要區別。 – Fildor
我編輯了問題中的信息 – Tomer