Spring mvc 中使用 Log4j

1、依赖包
commons-logging-1.1.3.jar、log4j-1.2.15.jar
2、配置Web.xml

1 <context-param>
2     <param-name>log4jConfigLocation</param-name>
3     <param-value>/WEB-INF/log4j.properties</param-value>
4 </context-param>
5 <listener>
6     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
7 </listener>

3、配置log4j.properties属性文件

 1 ################ FATAL, ERROR, WARN, INFO, DEBUG
 2 log4j.rootLogger=WARN,stdout,D,E
 3
 4 ### stdout ###
 5 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 6 log4j.appender.stdout.Target=System.out
 7 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 8 log4j.appender.stdout.layout.ConversionPattern= %d{ABSOLUTE} %5p %c{1}:%L - %m%n
 9
10 ### logFile ###
11 ### save error to another file ###
12 log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
13 log4j.appender.D.File=D:/logs/test-error.log
14 log4j.appender.D.Append=true
15 #error only in this file
16 log4j.appender.D.Threshold =WARN
17 log4j.appender.D.layout=org.apache.log4j.PatternLayout
18 log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p]  %m%n

4、全局异常处理,servlet-config.xml配置

 1 <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
 2     <property name="exceptionMappings">
 3         <props>
 4             <prop key="java.lang.Exception">errors/error</prop>
 5             <prop key="java.lang.Throwable">errors/err</prop>
 6         </props>
 7     </property>
 8     <property name="statusCodes">
 9         <props>
10             <prop key="errors/error">500</prop>
11             <prop key="errors/404">404</prop>
12         </props>
13     </property>
14     <!-- 设置日志输出级别,不定义则默认不输出警告等错误日志信息 -->
15     <property name="warnLogCategory" value="WARN"></property>
16     <!-- 默认错误页面,当找不到上面mappings中指定的异常对应视图时,使用本默认配置 -->
17     <property name="defaultErrorView" value="errors/error"></property>
18     <!-- 默认HTTP状态码 -->
19     <property name="defaultStatusCode" value="500"></property>
20 </bean>
21 <!-- 全局异常配置 end -->

5、代码日志写入

1 private final Log logger = LogFactory.getLog(SimplerController.class);
2
3 logger.warn(" logger");
4 logger.error("~~info~~");

6、参考

spring mvc 异常处理和Log4j配置

时间: 2024-08-28 22:07:22

Spring mvc 中使用 Log4j的相关文章

Spring MVC中处理静态资源的多种方法

处理静态资源,我想这可能是框架搭建完成之后Web开发的”头等大事“了. 因为一个网站的显示肯定会依赖各种资源:脚本.图片等,那么问题来了,如何在页面中请求这些静态资源呢? 还记得Spring MVC中的DispatcherServlet吗?它是Spring MVC中的前置控制器,若配置的拦截路径为“/”,那么所有的请求都将被它拦截.对静态资源的访问也属于一个请求,那么也会被它拦截,然后进入它的匹配流 程,我们知道它是根据HandlerMapping的配置来匹配的.而对于静态资源来说,默认的Spr

spring MVC 中获取request

spring MVC中如何获取request 呢? 有如下方式: 方式一:在action中注入request 直接在action的参数中增加HttpServletRequest request 例如 /*** * 返回json * @param id * @param roleLevel * @param model * @param request * @param targetView * @return * @throws SecurityException * @throws NoSuc

Spring MVC中一般类使用service

在Spring MVC中,Controller中使用service只需使用注解@Resource就行,但是一般类(即不使用@Controller注解的类)要用到service时,可用如下方法: 1.SpringContextUtil package com.test.framework.utils; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBea

spring mvc中的文件上传

使用commons-fileupload上传文件所需要的架包有:commons-fileupload 和common-io两个架包支持,可以到Apache官网下砸. 在配置文件spring-mvc.xml中配置上传: <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> //文件上传最大是多少 <

Spring MVC中拦截器HandlerInterceptorAdapter中的preHandle方法

拦截器:顾名思义,就是对请求进行拦截,做一些预处理.后处理或返回处理的操作 Spring MVC中使用拦截器的方法,继承HandlerInterceptorAdapter类,并根据需求实现其中的preHandle方法(预处理).postHandle方法(返回处理),afterCompletion方法(后处理). public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object han

spring mvc中的拦截器小结 .

在spring mvc中,拦截器其实比较简单了,下面简单小结并demo下. preHandle:预处理回调方法,实现处理器的预处理(如登录检查),第三个参数为响应的处理器(如我们上一章的Controller实现):      返回值:true表示继续流程(如调用下一个拦截器或处理器):              false表示流程中断(如登录检查失败),不会继续调用其他的拦截器或处理器,此时我们需要通过response来产生响应: postHandle:后处理回调方法,实现处理器的后处理(但在渲

Spring MVC中基于注解的 Controller

终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法以响应请求.实际上,ControllerClassNameHandlerMapping, MultiActionController 和选择恰当的 methodNameResolver(如 InternalPathMethodNameResolver) 就已经可以在很大程度上帮助我们省去不少的 XML 配置,谁让

Spring mvc中@RequestMapping 6个基本用法小结

小结下spring mvc中的@RequestMapping的用法. 1)最基本的,方法级别上应用,例如: Java代码 @RequestMapping(value="/departments") public String simplePattern(){ System.out.println("simplePattern method was called"); return "someResult"; } 则访问http://localho

Http请求中Content-Type讲解以及在Spring MVC中的应用

引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息. 1.  Content-Type MediaType,即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息. [html] vie