struts2配合log4j打印异常栈信息
关于配置struts2全局异常后控制台无法打印异常信息问题
<global-results>
<result name="error">/exception/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exceptions" result="error" />
<exception-mapping result="error" exception="java.lang.Throwable"></exception-mapping>
</global-exception-mappings>
配置完后,action中不try catch则无法在控制台打印异常信息。
多次尝试后解决方案如下:
在struts2中的defaultStack拦截器中配置参数如下
<interceptor-ref name="defaultStack">
<param name="exception.logEnabled">true</param>
<param name="exception.logLevel">error</param>
</interceptor-ref>
再配合log4j中设置
log4j.logger.com.opensymphony.xwork2=WARN
或
log4j.logger.com.opensymphony.xwork2=ERROR
即可看到控制台打印异常信息,当然log4j中需要配置控制台输出。
原理:http://www.opensymphony.com/webwork/api/com/opensymphony/xwork/interceptor/ExceptionMappingInterceptor.html
xwork中的ExceptionMappingInterceptor拦截器默认将异常打印关闭了。即默认只跳转到异常处理页。在开发时我们需要将其打开,即我们刚才struts中配置的参数.
该拦截器有三个参数。
logEnabled (optional) - Should exceptions also be logged? (boolean true|false)
logLevel (optional) - what log level should we use (trace, debug, info, warn, error, fatal)? - defaut is debug
logCategory (optional) - If provided we would use this category (eg. com.mycompany.app). Default is to use com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.
logEnabled配置是否打开日志输出
logLevel 配置拦截到异常的日志级别。
logCategory 应该是自定义日志。没怎么用,有需求的可以自己研究研究。有知道用途的给俺回复下啊。呵呵
----------------------------------------------------------------------------------
<interceptors>
<interceptor name="authority"
class="com.test.SystemInterceptor" />
<interceptor-stack name="myAuth">
<interceptor-ref name="defaultStack">
<param name="exception.logEnabled">true</param>
<param name="exception.logLevel">error</param>
</interceptor-ref>
<interceptor-ref name="authority" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myAuth" />
分享到:
相关推荐
压缩包中的"struts2_log4j"可能包含了以下内容:Struts2的配置文件(struts.xml)、Action类(用于处理请求)、Log4j的配置文件(log4j.properties或log4j.xml)、以及其他必要的资源文件(如JSP页面、样式表、...
在Tomcat服务器上配置Struts2框架的日志系统时,通常会利用Log4j来实现灵活、可定制的日志记录。Log4j的优势在于其高度的可配置性,允许开发者根据需要调整日志级别、输出格式以及日志目的地。 首先,要使用Log4j,...
下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来比较Log4j和Log4j2的区别。 配置文件类型 Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者....
struts2.5.10.1 使用的是log4j2 所以需要导入log4j-api-2.7log4j-core-2.7 这两个jar包 并且为了从log4j 平稳的过度到log4j2导入log4j-1.2-api-2.7 jar(避免修改代码)
在本示例中,"纯struts2开发带log4j的用户登录demo"是教你如何利用Struts2框架来实现一个简单的用户登录功能,并结合log4j进行日志记录。Log4j是一个广泛使用的日志记录工具,它提供了灵活的日志配置,有助于调试、...
在"slf4j-log4j12-1.5.8"这个包中,包含了SLF4J的API接口和Log4j的具体实现,使得开发者能够方便地将日志记录集成到Struts2应用中。 Struts2的基础jar包通常包含以下组件: 1. `struts2-core`: 这是Struts2的核心...
Struts2是基于MVC(Model-View-Controller)设计模式的开源Web应用程序框架,它极大地简化了Java Servlets和JSP(JavaServer Pages)的开发工作,而Log4j则是Apache组织提供的一个用于记录日志的开源工具,它具有...
NULL 博文链接:https://adrain-work-163-com.iteye.com/blog/1545091
5. **配置Log4j2**:Log4j2的配置文件(通常为log4j2.xml或log4j2.json)需要重新编写,以利用新特性并满足日志需求。例如,你可以配置日志分级(DEBUG, INFO, WARN, ERROR等),并实现日志分片以方便日志管理和分析...
Struts2、Hibernate、Spring、Log4j、Tomcat 和 MySQL 是Java Web开发中的关键组件,它们共同构建了一个高效、可扩展的Web应用程序框架。以下是对这些技术的详细解释: **Struts2**:Struts2是一个基于MVC(Model-...
Log4j提供了丰富的配置选项,允许开发者定制日志级别、输出格式和目的地,使得在项目运行过程中可以方便地收集和分析信息。 在实际搭建SSH框架时,我们需要将这些jar文件添加到项目的类路径中。对于Struts2和Spring...
【SSH2+Log4j+异常简单框架】是一种常见的Java Web开发框架组合,它整合了Struts2、Hibernate和Spring三大主流框架,并结合了Log4j日志系统,用于实现高效、灵活和可维护的项目架构。这个框架的集成使得开发者能够更...
此外,还提及了`log4j2.xml`,这是一个配置文件,对于Log4j的配置至关重要,不添加可能会导致运行异常。 **Log4j详解** 1. **Log4j API**:`log4j-api-2.7.jar`包含Log4j的API接口,定义了各种日志记录的级别(如...
里面包含struts2 、hibernate3、ojdbc14.jar、 log4j-1.2.13.jar slf4j-log4j12-1.6.1.jar javassist-3.11.0.GA.jar ejb3-persistence.jar几乎是最全的了
Log4j2很容易与其他Java框架集成,如Spring、Hibernate、Struts等。这使得开发者可以在整个应用程序中保持一致的日志记录策略。 总之,"log4j2必需jar包"中的log4j-api-2.11.1.jar和log4j-core-2.11.1.jar是构建...
SSH2、Spring、Hibernate、Struts2、Log4j 和 Ant 是Java开发中常见的六个框架和技术,它们在构建企业级Web应用中起着至关重要的作用。以下是对这些技术的详细说明: 1. SSH2(Spring、Hibernate、Struts2): - ...
Log4j与其他框架如Spring、Struts等有良好的集成,可以方便地在这些框架中使用日志功能。此外,通过添加插件,还可以将日志信息发送到syslog、SMTP、JMS等其他目的地。 总结来说,Log4j 1.2.17作为一个成熟的日志...
描述中提到,Struts2版本2.5.10.1依赖于Log4j2,这意味着开发者在使用该版本的Struts2时,需要引入两个关键的Log4j2库:log4j-api-2.7和log4j-core-2.7。log4j-api-2.7提供了API接口,供应用程序调用,而log4j-core-...
### 搭建Struts、Hibernate、Log4j与Spring集成环境详解 #### 一、简介 本文将详细介绍如何在Web项目中集成Struts、Hibernate、Log4j以及Spring框架,构建一个完整的Java Web应用程序环境。这些技术组合在一起能够...