zoukankan      html  css  js  c++  java
  • 玩转Spring MVC(五)----在spring中整合log4j

    在前边的基础上,本文主要总结一下如何在spring 中配置log4j,在本文末尾会给出完整项目的链接。

    首先是web.xml中要新添加的代码:

    <!-- 6. 配置log4j -->
    	 <!--6.1 配置加载log4j.xml文件路径 --> 
    	<context-param> 
    	  <param-name>log4jConfigLocation</param-name> 
    	  <param-value>/WEB-INF/classes/spring/log4jConfig.xml</param-value> 
    	</context-param> 
    	
    	<!-- 6.2 配置log4j.xml变量 --> 
    	<context-param> 
    	  <param-name>rootLevel</param-name> 
    	  <param-value>DEBUG</param-value> 
    	</context-param> 
    	
    	<context-param> 
    	  <param-name>loggingLevel</param-name> 
    	  <param-value>INFO</param-value> 
    	</context-param> 
    	
    	<!-- 6.3 配置log4j.xml监听器 --> 
    	<listener> 
    	<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
    	</listener> 

    然后在src/config/spring文件夹下添加log4jConfig.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "WEB-INF/classes/spring/log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    
      <!-- 该配置文件共定义了4个appender,即log日志的四个输出位置,关于appender详见 注4-->
    
      <!-- [控制台] 
      -->
      <appender name="console" class="org.apache.log4j.ConsoleAppender">  <!-- ConsoleAppender即表示日志输出方式为控制台 -->
         <param name="encoding" value="UTF-8" />    
         <param name="target" value="System.out" />   <!-- log日志的输出位置为系统输出,一般就是控制台 -->
         <!-- 关于layout中的参数详见 注5 -->
         <layout class="org.apache.log4j.PatternLayout"> 
           <param name="ConversionPattern" value="%-5p %c{2} - %m%n" />
         </layout>
      </appender>
    
      <!-- [公共Appender] -->
      <appender name="DEFAULT-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">   <!-- DailyRollingFileAppender即输出方式为每天产生一个日志文件 -->
         <param name="File" value="../logs/common-default.log" />   <!-- 日志文件输出路径-->
         <param name="Append" value="true" />  <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
         <param name="encoding" value="UTF-8" />
         <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /> <!--  每天的日志的名字,如:common-default.2015-02-06.log -->
         <layout class="org.apache.log4j.PatternLayout">
    	   <param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
         </layout>
       </appender>
    
       <!-- [错误日志  专用于收集特殊错误的文件] -->
       <appender name="ERROR-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
         <param name="File" value="../logs/common-error.log" />
         <param name="Append" value="true" />
         <param name="encoding" value="UTF-8" />
         <param name="threshold" value="error" />  <!-- 日志输出级别为error,详见 注6 -->
         <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
         <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
         </layout>
       </appender>
    
       <!-- [组件日志APPENDER] -->
       <appender name="COMPONENT-APPENDER"
    class="org.apache.log4j.DailyRollingFileAppender">
         <param name="File" value="../logs/logistics-component.log" />
         <param name="Append" value="true" />
         <param name="encoding" value="utf-8" />
         <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
         <layout class="org.apache.log4j.PatternLayout">
    	   <param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />  
         </layout>
       </appender>
    
       <!-- 用于定义logger的lever和所采用的appender,其中appender-ref必须为先前定义的 appenders的名称。
               那么log就会以appender所定义的输出格式来输出log。 -->
       <logger name="LOGISTICS-COMPONENT">
          <level value="${loggingLevel}" />
          <appender-ref ref="COMPONENT-APPENDER" />
          <appender-ref ref="ERROR-APPENDER" />
       </logger>
    
       <!-- Root Logger -->
       <!-- 1.root的作用是收集下面所有反馈上来的信息流并根据配置在root中appender进行输出,
                          只要你在looger中配置了additivity="false",就不会反馈到root中。 
            2.root标签为log的默认输出形式,如果一个类的log没有在loggers中明确指定其输出lever与格式,那么就会采用root中定义的格式-->
       <root>
           <level value="${rootLevel}"></level>
           <appender-ref ref="DEFAULT-APPENDER" />
           <appender-ref ref="ERROR-APPENDER" />
       </root>
    </log4j:configuration>
    


    接下来在将log4jjar包log4j-1.2.17orgapachelog4jxml下的log4j.dtd复制到src/config/spring下。

    当然,人需要导入相应的包。

    完整项目见:http://download.csdn.net/detail/u012116457/8431651



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    立体匹配中宽基线与窄基线的定义
    基于MST的立体匹配及相关改进(A Non-Local Cost Aggregation Method for Stereo Matching)
    Object Removal by Exemplar-Based Inpainting 概括(附源码)
    使用matlab进行空间拟合
    C# 控件 DevExpress的DateEdit设置显示日期和时间
    C#获取当前程序运行路径的方法集合
    《Entity Framework 6 Recipes》中文翻译系列 (14) -----第三章 查询之查询中设置默认值和存储过程返回多结果集 (转)
    《Entity Framework 6 Recipes》中文翻译系列 (13) -----第三章 查询之使用Entity SQL
    《Entity Framework 6 Recipes》中文翻译系列 (12) -----第三章 查询之使用SQL语句 (转)
    《Entity Framework 6 Recipes》中文翻译系列 (11) -----第三章 查询之异步查询 (转)
  • 原文地址:https://www.cnblogs.com/dingxiaoyue/p/4931771.html
Copyright © 2011-2022 走看看