`

spring集成log4j .

 
阅读更多
1、 log4j.properties文件

1)文件位置:在src下面

2)文件配置


#先设置级别
log4j.rootCategory=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#在这里设置日志需要存放的位置,这里的变量就是我们在web.xml里设置的
log4j.appender.file.File=${ssh.root}/WEB-INF/logs/subject.log
log4j.appender.file.MaxFileSize=100KB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.SimpleLayout
log4j.appender.file.layout.ConversionPattern=[ssh] %p %t %c - %m%n

有了上面的配置,我们就可以查看日志了!



2、log4j.xml文件



<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
 <appender name="FILE"
  class="org.apache.log4j.DailyRollingFileAppender">
  <!-- 设置通道file和输出方式:org.apache.log4j.DailyRollingFileAppender -->
  <param name="File" value="${platform.root}/logs/server.log" /><!-- 设置File参数:日志输出文件名 -->
  <param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
  <param name="MaxBackupIndex" value="10" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /><!-- 设置输出文件项目和格式 -->
  </layout>
 </appender>

 <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
  <!-- 设置监视器输出方式 -->
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern"
    value="%-4r [%t] %-5p %c %x - %m%n" />
  </layout>
  <!--滤镜设置输出的级别 ALL<DEBUG<INFO<WARN<ERROR<FATAL<OFF -->
  <filter class="org.apache.log4j.varia.LevelRangeFilter">
   <param name="levelMin" value="ERROR" />
   <param name="levelMax" value="ERROR" />
   <param name="AcceptOnMatch" value="true" />
  </filter>
 </appender>

<!-- 控制具体类中的日志级别 和输出目的地-->

<logger name="com.wondertek.mobiletv.oms.webapp.learning" additivity="false">
        <level value="DEBUG"/>
        <appender-ref ref="LEARNING_LOG_FILE"/>
    </logger>

 

additivity它是 子Logger 是否继承 父Logger(即root) 的 输出源(appender) 的标志位。具体说,默认情况下子Logger会继承父Logger的appender,也就是说子Logger会在父Logger的appender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。

 

 <root><!-- 设置接收所有输出的通道 -->
  <priority value="info" />
  <appender-ref ref="FILE" /><!-- 与前面的通道id相对应 -->
  <!--appender-ref ref="STDOUT" /-->
 </root>

</log4j:configuration>





3、 web.xml配置

<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"-->
 <context-param>
  <param-name>webAppRootKey</param-name>
  <param-value>ssh.root</param-value>
 </context-param>
这里的ssh是http://localhost:8080/ssh/
而root是系统开发目录中ssh/root
<!--由Sprng载入的Log4j配置文件位置-->
 <context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>/WEB-INF/log4j.properties</param-value>
 </context-param>
<!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond-->
 <context-param>
  <param-name>log4jRefreshInterval</param-name>
  <param-value>60000</param-value>
 </context-param>
<!--Spring log4j Config loader-->
 <listener>
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
 </listener>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics