1 回答

TA貢獻1847條經驗 獲得超7個贊
您可以ThresholdFilter
在控制臺附加程序上使用來過濾掉具有ERROR
或更特定級別的日志事件
整個配置例如:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
? ? <Appenders>
? ? ? ? <Console name="Console" target="SYSTEM_OUT">
? ? ? ? ? ? <PatternLayout
? ? ? ? ? ? ? ? ? ? pattern="%d{HH:mm:ss.SSS} [%t] %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=blue} %logger{36} - %msg%n"
? ? ? ? ? ? ? ? ? ? disableAnsi="false"/>
? ? ? ? ? ? <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
? ? ? ? </Console>
? ? ? ? <File name="File" fileName="output.log" bufferedIO="true" append="false">
? ? ? ? ? ? <PatternLayout
? ? ? ? ? ? ? ? ? ? pattern="%d{HH:mm:ss.SSS} [%t] %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=blue} %logger{36} - %msg%n"/>
? ? ? ? </File>
? ? </Appenders>
? ? <Loggers>
? ? ? ? <Root level="debug">
? ? ? ? ? ? <AppenderRef ref="File"/>
? ? ? ? ? ? <AppenderRef ref="Console"/>
? ? ? ? </Root>
? ? </Loggers>
</Configuration>
PS 當您指定:
<Logger name="com.danielk" level="ERROR">
? ?<AppenderRef ref="Console"/>
</Logger>
然后將日志級別設置ERROR為內部所有子包和類com.danielk(除非您配置更具體的記錄器,例如com.danielk.db.MyClass使用不同的級別)。這就是日志文件中只出現錯誤的原因。
添加回答
舉報