struts2开发过程中控制台不输出错误日志,log4j也没办法记录,struts2处理异常的类在 com.opensymphony.xwork2.interceptor 中, ,加上日志和控制台打印即可如下
package com.opensymphony.xwork2.interceptor;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import org.apache.log4j.Logger;
/**
* <!-- START SNIPPET: javadoc -->
*
* A simple wrapper around an exception, providing an easy way to print out the stack trace of the exception as well as
* a way to get a handle on the exception itself.
*
* <!-- END SNIPPET: javadoc -->
*
* @author Matthew E. Porter (matthew dot porter at metissian dot com)
*/
public class ExceptionHolder {
private static final Logger LOG = Logger.getLogger(ExceptionHolder.class);
private Exception exception;
/**
* Holds the given exception
*
* @param exception the exception to hold.
*/
public ExceptionHolder(Exception exception) {
this.exception = exception;
}
/**
* Gets the holded exception
*
* @return the holded exception
*/
public Exception getException() {
return this.exception;
}
/**
* Gets the holded exception stacktrace using {@link Exception#printStackTrace()}.
*
* @return stacktrace
*/
public String getExceptionStack() {
String exceptionStack = null;
if (getException() != null) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
try {
getException().printStackTrace(pw);
exceptionStack = sw.toString();
LOG.error(exceptionStack);
}
finally {
try {
sw.close();
pw.close();
} catch (IOException e) {
// ignore
}
}
}
return exceptionStack;
}
}
分享到:
相关推荐
它可以在方法执行前、执行后或异常时插入日志打印,帮助开发者跟踪程序运行状态,尤其在多线程和复杂业务逻辑中非常有用。 5. 注解:注解是Java SE 5.0引入的新特性,它允许元数据(关于代码的信息)直接嵌入到源...
在这个“Spring-Struts2-Hibernate登录打印日志”的主题中,我们将深入探讨如何在SSH框架下实现用户登录功能,并记录相关的日志信息。 首先,让我们了解SSH框架的核心组件: 1. **Spring**:Spring框架是整个应用...
接下来,我们将深入探讨SSH的整合过程,事务管理以及Log4j的日志配置。 首先,**Struts1+Spring+Hibernate的整合过程**涉及到多个步骤。Struts作为MVC(模型-视图-控制器)框架,负责用户界面与后台逻辑的交互。...
综上所述,Log4j是Java开发中不可或缺的工具,它的灵活性和可扩展性使其成为许多项目首选的日志解决方案。正确配置和使用Log4j,可以帮助我们有效地追踪问题,优化性能,以及更好地管理和监控我们的应用程序。在实际...
#### 四、Struts2异常处理 **4.1 局部异常映射** - **用途**:局部异常映射是在某个具体的Action中对异常进行捕获并处理的方式。 **4.2 全局异常映射** - **用途**:全局异常映射是指在配置文件中统一处理所有...
- **利用日志记录**:合理配置log4j等日志框架,记录关键操作的日志信息,便于定位问题。 - **单元测试**:编写JUnit测试用例,对各个模块进行单元测试,确保每个部分都能独立运行。 #### 六、性能优化 - **数据库...
7. **Servlet调试**:调试Servlet可以使用打印语句、日志工具如Log4J,以及IDE的集成调试器。查看HTML源码和返回错误页面给客户也可能是调试手段,但不常见。 8. **Servlet功能**:Servlet可以读取请求数据(显式和...
规范建议使用统一的日志框架(如Log4j)来记录关键事件、错误信息和调试日志。日志级别(ERROR、WARN、INFO、DEBUG)的选择应根据日志消息的重要性和紧急程度来确定。 #### UI开发规范 用户界面的一致性和可用性是...
Log4J是一种日志工具,可用于跟踪调试信息。 - **选项C**: 正确。IDE集成的调试器提供断点、步进等功能,非常有用。 - **结论**: A、B和C选项正确。 **9. Servlet的功能** - **选项A**: 正确。读取客户端发送的...
log n.日志,记录 [lɒg] native (关键字) ?? ['neitiv] nested [java] 嵌套的 ['nestid] '如:内部类(nested classes) Object [java] 对象 ['ɒbdʒekt] Overload [java] 方法的重载(不同参数列表的同名方法) [,...
建议在正式部署前移除这些打印语句,或者使用日志记录框架(如Log4j)来代替。 #### 七、注意GUI设计 对于用户界面(GUI)的设计而言,简洁直观的布局比复杂的交互更为重要。良好的GUI能够提升用户体验,降低用户...