Here is an example of an xml configuration which uses filters (BTW: Using this 
two appenders when debugging in eclipse  the console shows the DEBUG and INFO 
in black color and the others in red color). You can also write your own filter 
class where you are free to filter what you want. Be careful on the ordering 
when extending this xml file. The logj4 parser expects first all appenders 
followed by all loggers.
 
<?xml version = "1.0" encoding = "UTF-8"?>
 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
 
<log4j:configuration xmlns:log4j=" http://jakarta.apache.org/log4j/"; 
debug="false">
 
    <appender name="CONSOLE.ERR" class="org.apache.log4j.ConsoleAppender">
        <param name="target" value="System.err"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{HH:mm:ss.SSS} (%6r) %-5p 
%-10X{category} [%-7t] %F:%L %x - %m%n"/>
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="warn"/>
            <param name="LevelMax" value="fatal"/>
            <param name="AcceptOnMatch" value="false"/>
        </filter>
    </appender>
 
    <appender name="CONSOLE.OUT" class="org.apache.log4j.ConsoleAppender">
        <param name="target" value="System.out"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{HH:mm:ss.SSS} (%6r) %-5p 
%-10X{category} [%-7t] %F:%L %x - %m%n"/>
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="debug"/>
            <param name="LevelMax" value="info"/>
            <param name="AcceptOnMatch" value="false"/>
        </filter>
    </appender>
 
    <root>
        <level value="debug"/>
        <appender-ref ref="CONSOLE.ERR"/>
        <appender-ref ref="CONSOLE.OUT"/>
    </root>
 
</log4j:configuration>

Reply via email to