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>