log4j可否支持这样的需求:DEBUG的打印到日志上,ERROR的写日志文件 这样可以实现吗?

解决方案 »

  1.   

    log4j.rootLogger=debug, stdout,R
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Threshold=info
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%C{2}:%M] [%m]%nlog4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.Threshold=DEBUG
    log4j.appender.R.File=***.log
    log4j.appender.R.MaxFileSize=1024KB
    log4j.appender.R.MaxBackupIndex=1
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%C{2}:%M] [%m]%n
    类似这么配置就可以了
      

  2.   

    用log4j.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss:SSS} %m%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="INFO" />
    <param name="LevelMax" value="INFO" />
    </filter>
    </appender> <appender name="DEBUG"
    class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="d:\\tmp\\bosai_debug.log" />
    <!--<param name="File" value="/tmp/csv/log/bosai_debug.log" />-->
    <param name="Append" value="true" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss:SSS} %-5p %c (%F$%M %L) %m%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="DEBUG" />
    <param name="LevelMax" value="ERROR" />
    </filter>
    </appender> <appender name="INFO"
    class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="d:\\tmp\\bosai_csv.log" />
    <!--<param name="File" value="/tmp/csv/log/bosai_csv.log" />-->
    <param name="Append" value="true" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss:SSS} %m%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="INFO" />
    <param name="LevelMax" value="INFO" />
    </filter>
    </appender> <root>
    <priority value="debug" />
    <appender-ref ref="STDOUT" />
    <appender-ref ref="DEBUG" />
    <appender-ref ref="INFO" />
    </root></log4j:configuration>