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使用不同的级别)。这就是日志文件中只出现错误的原因。
添加回答
举报