我log4j2
版本2.8
log4j2配置記錄到文件而不是安慰
,我有以下log4j2.xml
在src/main/resources
:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="120">
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH.mm.ss} %5p %c{1}:%L - %m%n</Pattern>
</PatternLayout>
</Console>
<RollingRandomAccessFile name="RollingRandomAccessFile" fileName="${env:CATALINA_HOME:-.}/logs/applicationlogs.log"
filePattern="${env:CATALINA_HOME:-.}/logs/$${date:yyyy-MM}/applicationlogs-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH.mm.ss} %5p %c{1}:%L - %m%n</Pattern>
</PatternLayout>
<Policies>
<OnStartupTriggeringPolicy />
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="50 MB"/>
</Policies>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
<AsyncLogger name="com.mypackage" level="trace" includeLocation="true" additivity="false">
<AppenderRef ref="RollingRandomAccessFile"/>
</AsyncLogger>
<AsyncLogger name="org.springframework.jdbc" level="debug" includeLocation="true" additivity="false">
<AppenderRef ref="RollingRandomAccessFile"/>
</AsyncLogger>
<Root level="info" includeLocation="true">
<AppenderRef ref="STDOUT"/>
<AppenderRef ref="RollingRandomAccessFile"/>
</Root>
</Loggers>
</Configuration>
這正確地記錄到文件中,但沒有出現在控制檯。
這裏有什麼問題?
但是在這種情況下,所有跟蹤和調試級別日誌也將被打印在控制檯上。我不要那個。所有的首發和跟蹤應該只能到文件,但作爲「根」,建議所有的信息級別的日誌應該去的文件以及控制檯。 – Nik
我已經更新了答案。希望它有幫助) –
是的。它有助於理解這個問題!謝謝... – Nik