Log4j根据不同级别配置不同输出文件

log4j进行日志的级别分文件,网上很多写的不对,经过网络查找以及自己进行使用后,把
2种方式整理出来。
红色部分为特别注意的地方,就是根据分级分文件的关键

方式1:用log4j.properties进行

log4j.rootLogger=INFO ,out, info, warn, error
#appender
log4j.appender.out=org.apache.log4j.ConsoleAppender
log4j.appender.out.layout=org.apache.log4j.PatternLayout
log4j.appender.out.layout.ConversionPattern=[%p] %d{yyyy-MM-dd HH:mm:ss} [%l] %m%n

###info
log4j.logger.info = info
log4j.appender.info = org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.File = /home/logs/boss/boss-info.log
log4j.appender.info.Append = true
log4j.appender.info.Threshold = DEBUG
log4j.appender.info.layout = org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss} [%l] %m%n
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.info.filter.infoFilter.LevelMin=DEBUG
log4j.appender.info.filter.infoFilter.LevelMax=INFO


###warn
log4j.logger.warn = warn
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
log4j.appender.warn.File = /home/logs/boss/boss_warn.log
log4j.appender.warn.Append=true
log4j.appender.warn.Threshold=WARN
log4j.appender.warn.layout=org.apache.log4j.PatternLayout
log4j.appender.warn.layout.ConversionPattern=[%p] %d{yyyy-MM-dd HH:mm:ss} [%l] %m%n
log4j.appender.warn.datePattern='.'yyyy-MM-dd
log4j.appender.warn.filter.warnFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.warn.filter.warnFilter.LevelMin=WARN
log4j.appender.warn.filter.warnFilter.LevelMax=WARN
###error
log4j.logger.error = error
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.File = /home/logs/boss/boss_error.log
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss} [%l] %m%n
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.filter.errorFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.error.filter.errorFilter.LevelMin=ERROR

方式2:用log4j.xml进行
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%p] %d{yyyy-MM-dd HH:mm:ss} [%l] %m%n"/>
<!--
            <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n"/>
          <param name="ConversionPattern" value="%p %d{yyyy-MM-dd HH:mm:ss} %C{1}.%M(%L) | %m%n"/>
          -->
        </layout>
    </appender>

<appender name="FILE-INFO" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/home/logs/boss/boss-info.log"/>
<param name="Append" value="true"/>
        <param name="ImmediateFlush" value="true"/>
        <param name="DatePattern" value=".yyyy-MM-dd"/>
        <param name="BufferSize" value="500"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%p] %d{yyyy-MM-dd HH:mm:ss} [%l] %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>

<appender name="FILE-WARN" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/home/logs/boss/boss-warn.log"/>
<param name="Append" value="true"/>
        <param name="ImmediateFlush" value="true"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%p] %d{yyyy-MM-dd HH:mm:ss} [%l] %m%n"/>
        </layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="WARN"/>
<param name="LevelMax" value="ERROR"/>
        <param name="acceptOnMatch" value="false"/>
        </filter>
    </appender>

    <root>
        <level value="info"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE-INFO"/>
        <appender-ref ref="FILE-WARN"/>
    </root>

</log4j:configuration>

猜你喜欢

转载自kuangtuzhm.iteye.com/blog/2263422
今日推荐