我還沒有嘗試過,但是這個應該做的伎倆。
status = error
name = PropertiesConfig
property.filename = target/logs/test.log
appender.file.type = File
appender.file.name = LogFile
appender.file.fileName = ${filename}
appender.file.layout.type = PatternLayout
appender.file.layout.pattern = %d %p %C{1.} [%t] %m%n
rootLogger.level = error
rootLogger.appenderRef.stdout.ref = LogFile
這是我在一些單元測試中實際使用的log4j2.xml。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="ERROR">
<properties>
<property name="LOG_DIR">target/logs</property>
</properties>
<MarkerFilter marker="FLOW" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{ABSOLUTE} %-5level # %class.%method %m%n" />
</Console>
<RollingFile name="log4j" fileName="${LOG_DIR}/log4j.txt" filePattern="${LOG_DIR}/archive/log4j.txt.%d{yyyyMMdd_HH}-%i">
<PatternLayout>
<MarkerPatternSelector defaultPattern="%d [%t] %-5p %X{loginId, userId, ipAddress, corpAcctNumber} %C{1.}.%M:%L - %m%n">
<PatternMatch key="FLOW" pattern="%d [%t] %-5p %X{loginId, userId, ipAddress, corpAcctNumber} -------- %C{1.}.%M:%L %msg --------%n"/>
</MarkerPatternSelector>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="30 MB"/>
</Policies>
<DefaultRolloverStrategy min="1" max="20"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="log4j" />
</Root>
</Loggers>
</Configuration>
[禁用Log4J的輸出中的Java]的可能的複製(http://stackoverflow.com/questions/571960/disabling-log4j-output-in-java) – Raedwald
請刪除重複的通知。我試圖僅僅警告警告,同時保持跟蹤日誌記錄到控制檯。 – Ole
編輯問題的主體以表明它爲什麼不是該問題的重複。 – Raedwald