log4j配置

废话不多说,先上代码:

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

   <!-- 一个appender子元素定义一个日志输出目的地   -->
   
   <!-- 控制台输出 -->
   <appender name="console" class="org.apache.log4j.ConsoleAppender">
       <param name="DatePattern" value="'.'yyyy-MM-dd"/>
       <param name="ImmediateFlush" value="true"/>
       <layout class="org.apache.log4j.PatternLayout">
           <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}][%-5p]%F:%L - %m%n"/>
       </layout>
   </appender>

   <!-- 文件大小到达指定尺寸的时候产生一个新的文件 -->
   <appender name="filelog_appender" class="org.apache.log4j.RollingFileAppender">
       <!-- 设置File参数:日志输出文件名(服务器一般是linux环境则输出路径是linux目录类似home/www/...)-->
       <param name="File" value="D:/log/testlog4jxml_all.log" />
       <!-- 设置是否在重新启动服务时,true:在原有日志的基础添加新日志  false:覆盖原有日志  默认为true -->
       <param name="Append" value="true" />
       <!-- 设置文件大小 后缀可以是KB, MB 或者GB。在日志文件到达该大小时,将会自动滚动,即将原来的内容移到logging.log4j.1文件中。-->
       <param name="MaxFileSize" value="1MB" />
       <!-- 设置文件备份 指定可以产生的滚动文件的最大数,例如,设为2则可以产生logging.log4j.1,logging.log4j.2两个滚动文件和一个logging.log4j文件-->
       <param name="MaxBackupIndex" value="10000" />
       <!-- 设置输出日志内容的格式 -->
       <layout class="org.apache.log4j.PatternLayout">
           <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p (%c:%L)- %m%n" />
       </layout>
   </appender>

   <!-- 输出到日志文件 一定周期内(通过DatePattern指定)产生一个日志  -->
   <appender name="filelog_daily" class="org.apache.log4j.DailyRollingFileAppender">
       <param name="File" value="D:/log/daily.log" />
       <!-- 每天产生一个新的日志daily.log,将旧的日志更名为类似daily.log.2015-09-23的名字-->
       <param name="DatePattern" value="'.'yyyy-MM-dd" />
       <layout class="org.apache.log4j.PatternLayout">
           <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] [%t] (%c:%L) - %m%n" />
       </layout>
       <!-- 日志信息过滤器 只有指定级别内的日志信息才会输出(由高到低:FF、 FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL,建议使用ERROR、WARN、INFO、DEBUG四个级别) -->
       <filter class="org.apache.log4j.varia.LevelRangeFilter">
           <param name="LevelMin" value="trace"/>
           <param name="LevelMax" value="info"/>
       </filter>
   </appender>

   <!-- name即包名,不同的包定义不同的日志写出器  additivity表示是否继承root的属性 默认为true继承-->
   <logger name="com.service" additivity="false">
       <level value="debug"/>
       <appender-ref ref="console"/>
       <appender-ref ref="filelog_appender"/>
       <appender-ref ref="filelog_daily"/>
   </logger>

   <logger name="com.dao" additivity="false">
       <level value="debug"/>
       <appender-ref ref="console"/>
       <appender-ref ref="filelog_appender"/>
       <appender-ref ref="filelog_daily"/>
   </logger>

   <!-- 根logger 所有未指定日志写出器的包下的日志都会遵循这个配置 -->
   <root>
       <priority value="debug"/>
       <appender-ref ref="console"/>
       <appender-ref ref="filelog_appender"/>
       <appender-ref ref="filelog_daily"/>
   </root>


</log4j:configuration>

 

 

Log4j提供的appender有以下几种:  
org.apache.log4j.ConsoleAppender(控制台),  
org.apache.log4j.FileAppender(文件),  
org.apache.log4j.DailyRollingFileAppender(周期产生一个日志文件), 
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)   

 

关于 DatePattern:

1)'.'yyyy-MM:每月
2)'.'yyyy-ww:每周
3)'.'yyyy-MM-dd:每天
4)'.'yyyy-MM-dd-a:每天两次
5)'.'yyyy-MM-dd-HH:每小时
6)'.'yyyy-MM-dd-HH-mm:每分钟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值