Log4j根据级别输出到不同文件

 首先,Log4J中经常使用到的级别优先级从底到高依次为:

DEBUG < INFO < WARN < ERROR < FATAL

分别对应程序中的logger.debug(”“) < logger.info(”“) < logger.warn(”“) < logger.error(”“) < logger.fatal(”“)

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
	<appender name="UserInfoDailyRollingFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="log\\user_"/>  
        <param name="Append" value="true"/>  
        <param name="Encoding" value="UTF-8"/>
        <param name="DatePattern" value="yyyy-MM-dd-HH'.log'"/>   
        <layout class="org.apache.log4j.PatternLayout">  
 			<param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss}]%m%n" />
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">    
 	 		<param name="LevelMin" value="INFO" />    
 	 		<param name="LevelMax" value="ERROR" />    
		</filter>  
    </appender>
    
<appender name="DebugInfoDailyRollingFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="log\\debug_"/>  
        <param name="Append" value="true"/>  
        <param name="Encoding" value="UTF-8"/> 
        <param name="DatePattern" value="yyyy-MM-dd-HH'.log'"/>   
        <layout class="org.apache.log4j.PatternLayout">  
 			<param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss}]%m%n" />
        </layout>
       <filter class="org.apache.log4j.varia.LevelRangeFilter">    
 	 		<param name="LevelMin" value="DEBUG" />    
 	 		<param name="LevelMax" value="DEBUG" />    
		</filter>   
</appender>
	<root>
	 	<priority value ="info"/>  
		<appender-ref ref="UserInfoDailyRollingFileAppender" />
		<appender-ref ref="DebugInfoDailyRollingFileAppender" />
	</root>
</log4j:configuration>

 

 

   定义INFO<=级别<=ERROR的日志输出。

        <filter class="org.apache.log4j.varia.LevelRangeFilter">    
 	 		<param name="LevelMin" value="INFO" />    
 	 		<param name="LevelMax" value="ERROR" />    
		</filter> 

 

每一句Log输出的前缀为 [yyyy/MM/dd HH:mm:ss] 的样子。

        <layout class="org.apache.log4j.PatternLayout">  
 			<param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss}]%m%n" />
        </layout>

 

每小时输出一个文件,注意Log4j会在当前小时中首先把日志保存到临时文件"user_",当时间切换到下一小时时才会生成user_yyyy-MM-dd-HH.log

<param name="DatePattern" value="yyyy-MM-dd-HH'.log'"/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值