举例的情况:
debug level的信息——输出到console
error level的信息——输出到文件中
log4j的配置信息:
参数Threshold,举例Threshold设置成warn,那么低于warn的level,都可以在用这个appender输出。
<appender name="OutInfo" class="org.apache.log4j.ConsoleAppender"> <param name="Threshold" value="WARN"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" /> </layout> </appender>
这个方法在log4j.properties也可以使用,具体是log4j.appender.OutInfo.Threshold = WARN
参数filter可以设置上下限
<appender name="OutFile" class="org.apache.log4j.FileAppender"> <param name="File" value="sample.log"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="ERROR" /> <param name="LevelMax" value="FATAL" /> <param name="AcceptOnMatch" value="true" /> </filter> </appender>
上面的filter就是把ERROR和FATAL的信息输出到sample.log文件中去。这个参数在log4j.properties中无效,所以偏向用xml的配置文件了,而且xml的配置文件比较清晰。
如果 <param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
是不是仅作用与ERROR,不妨去试试。