玩转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.17\org\apache\log4j\xml下的log4j.dtd复制到src/config/spring下。

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

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

时间: 2024-08-08 21:56:31

玩转Spring MVC(五)----在spring中整合log4j的相关文章

【Spring】Spring在JavaWeb工程中整合log4j

在<[Spring]Spring3.0.5的下载.配置与Helloworld>(点击打开链接)一文各位已经可能看到了.如果Spring不整合log4j直接启动,则会出现如下关于Spring整合log4j的警告.这个挺烦人的,一方面自己提倡高内聚,低耦合,另一方面,自己没有整合log4j就提出警告.我们程序猿写出来的程序就叫做"耦合",它Spring就叫做"整合".好吧!你只能同时搞明白,log4j是个什么鬼东西,Spring怎么整合log4j,两个问题:

关于Spring MVC 3.1.x中如何替换数据Converter的问题

参考的原文 http://www.cnblogs.com/yangzhilong/p/3725849.html 要解决的问题 Web API的开发中,经常需要对HTTP中的request body中的数据流绑定到自建Model中,或者将自建Model反序列化到Response Body中.这时候就需要用到这些Converter.而这些默认配置下的Converter可能得不到你想要的结果. 如何解决 这里仅对Json相关的转换做出说明.由于Spring默认使用的是jackson,而jackson的

Spring MVC 4.2.2 中最好的集成静态资源的方法

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Spring MVC 4.2.2 – Best way to Add/Integrate JS, CSS and images into JSP

Spring MVC+Mybatis+Maven+Velocity+Mysql整合实例

本篇文章将通过一个简单显示用户信息的实例整合Spring mvc+mybatis+Maven+velocity+mysql. 对于实现整合的重点在于以下几个配置文件的实现 1.Maven依赖包 2.spring配置文件(springContext-user.xml) 3.mybatis配置文件(MyBatis-User-Configuration.xml) 4.spring-mvc配置文件(spring-mvc.xml) 5.web.xml配置文件 源码下载地址:http://download.

玩转spring mvc(四)---在spring MVC中整合JPA

关于在Spring MVC中整合JPA是在我的上一篇关于spring mvc基本配置基础上进行的,所以大家先参考一下我的上一篇文章:http://blog.csdn.net/u012116457/article/details/43528111 接下来是需要新添加的一些文件: jdbc.properties: jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc\:mysql\://localhost\:3306/tmos?useUni

spring mvc在web.xml中的配置

spring mvc将所有的请求都经过一个servlet控制器-DispatcherServlet,这个servlet的工作就是将一个客户端的request请求分发给不同的springmvc控制器,既然是一个控制器Servlet就需要在web.xml中配置. <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.Dispa

spring(五)spring web MVC

原教程: https://www.w3cschool.cn/wkspring/ 模型封装了应用程序数据,并且通常它们由 POJO 组成. 视图主要用于呈现模型数据,并且通常它生成客户端的浏览器可以解释的 HTML 输出. 控制器主要用于处理用户请求,并且构建合适的模型并将其传递到视图呈现. DispatcherServlet spring MVC是围绕DispatcherServlet 设计的,DispatcherServlet 用来处理所有的 HTTP 请求和响应. DispatcherSer

mybatis 3.2.7 与 spring mvc 3.x、logback整合

github上有一个Mybatis-Spring的项目,专门用于辅助完成mybatis与spring的整合,大大简化了整合难度,使用步骤: 准备工作: maven依赖项: 1 <properties> 2 <java-version>1.6</java-version> 3 <spring.version>3.2.8.RELEASE</spring.version> 4 </properties> 5 <dependencies

[Spring MVC] - JSP + Freemarker视图解释器整合(转)

Spring MVC中如果只使用JSP做视图,可以使用下面这段即可解决: <!-- 视图解释类 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="