Struts2 控制台不打印异常解决方法

<interceptor-ref name="defaultStack"><param name="exception.logEnabled">true</param><param name="exception.logLevel">error</param>
</interceptor-ref>

log4j.properties中加下如下配置:

log4j.logger.com.opensymphony.xwork2=WARN
log4j.logger.com.opensymphony.xwork2=ERROR
 
 
 

struts2配合log4j打印异常栈信息

关于配置struts2全局异常后控制台无法打印异常信息问题
Java代码
  1. <global-results>
  2. <result name="error">/exception/error.jsp</result>
  3. </global-results>
  4. <global-exception-mappings>
  5. <exception-mapping exception="java.lang.Exceptions"result="error"/>
  6. <exception-mapping result="error"exception="java.lang.Throwable"></exception-mapping>
  7. </global-exception-mappings>
[java]view plaincopy

  1. <global-results>
  2. <result name="error">/exception/error.jsp</result>
  3. </global-results>
  4. <global-exception-mappings>
  5. <exception-mapping exception="java.lang.Exceptions"result="error"/>
  6. <exception-mapping result="error"exception="java.lang.Throwable"></exception-mapping>
  7. </global-exception-mappings>

配置完后,action中不try catch则无法在控制台打印异常信息。

多次尝试后解决方案如下:在struts2中的defaultStack拦截器中配置参数如下 
Java代码
  1. <interceptor-ref name="defaultStack">
  2. <param name="exception.logEnabled">true</param>
  3. <param name="exception.logLevel">error</param>
  4. </interceptor-ref>
[java]view plaincopy

  1. <interceptor-ref name="defaultStack">
  2. <param name="exception.logEnabled">true</param>
  3. <param name="exception.logLevel">error</param>
  4. </interceptor-ref>

 再配合log4j中设置
Java代码
  1. log4j.logger.com.opensymphony.xwork2=WARN
[java]view plaincopy

  1. log4j.logger.com.opensymphony.xwork2=WARN
Java代码
  1. log4j.logger.com.opensymphony.xwork2=ERROR
[java]view plaincopy

  1. log4j.logger.com.opensymphony.xwork2=ERROR

即可看到控制台打印异常信息,当然log4j中需要配置控制台输出。

原理:http://www.opensymphony.com/webwork/api/com/opensymphony/xwork/interceptor/ExceptionMappingInterceptor.html

xwork中的ExceptionMappingInterceptor拦截器默认将异常打印关闭了。即默认只跳转到异常处理页。在开发时我们需要将其打开,即我们刚才struts中配置的参数.该拦截器有三个参数。
Java代码
  1. logEnabled (optional) - Should exceptions also be logged? (booleantrue|false)
  2. logLevel (optional) - what log level should we use (trace, debug, info, warn, error, fatal)? - defaut is debug
  3. logCategory (optional) - If provided we would usethiscategory (eg. com.mycompany.app). Default is to use com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.
[java]view plaincopy

  1. logEnabled (optional) - Should exceptions also be logged? (booleantrue|false)
  2. logLevel (optional) - what log level should we use (trace, debug, info, warn, error, fatal)? - defaut is debug
  3. logCategory (optional) - If provided we would use thiscategory (eg. com.mycompany.app). Default is to use com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.

logEnabled配置是否打开日志输出logLevel 配置拦截到异常的日志级别。logCategory 应该是自定义日志。没怎么用,有需求的可以自己研究研究。有知道用途的给俺回复下啊。呵呵----------------------------------------------------------------------------------
Java代码
  1. <interceptors>
  2. <interceptor name="authority"
  3. class="com.test.SystemInterceptor"/>
  4. <interceptor-stack name="myAuth">
  5. <interceptor-ref name="defaultStack">
  6. <param name="exception.logEnabled">true</param>
  7. <param name="exception.logLevel">error</param>
  8. </interceptor-ref>
  9. <interceptor-ref name="authority"/>
  10. </interceptor-stack>
  11. </interceptors>
  12. <default-interceptor-ref name="myAuth"/>

Struts2 控制台不打印异常的解决方案相关推荐

  1. tomcat控制台不打印异常问题

    解决办法 在tomcat中conf文件夹下logging.properties文件中修改以下属性 添加 java.util.logging.ConsoleHandler 如下: org.apache. ...

  2. python Intel Real Sense D435 异常检测与抛出(获取/打印异常详细信息 traceback.print_exc())

    文章目录 背景描述 首先熟悉一下python异常处理的几个关键字 摄像头USB断开异常 获取异常详细信息 背景描述 在摄像头运行的时候,有时候会遇到一些错误,比如帧传输错误引起的程序结束, 但更为严重 ...

  3. 打印异常堆栈_定位生产问题时,异常堆栈莫名丢了,何解?

    今天分享的这个知识有点冷,相信很多 Java 程序员很少遇到,废话不多说,直接进入排查问题的真实讨论现场. 小 猿:有个 NPE 异常,有空帮忙看看是哪里出的? 架构师:我没有看到空指针堆栈啊!? 小 ...

  4. cf游戏服务器显示怪文,cf游戏服务器异常怎么解决方案

    cf游戏服务器异常怎么解决方案 内容精选 换一换 云服务器列表页面,云服务器的状态显示为"异常".进入云服务器列表页面,鼠标移动至"异常"状态处,查看具体的异常 ...

  5. 【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体

    Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...

  6. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

  7. celery 运行时 (from . import async, base)SyntaxError: invalid syntax 异常的解决方案

    celery 运行时 (from . import async, base)SyntaxError: invalid syntax 异常的解决方案 参考文章: (1)celery 运行时 (from ...

  8. MYSQL连接一段时间不操作后出现异常的解决方案

    MYSQL连接一段时间不操作后出现异常的解决方案 参考文章: (1)MYSQL连接一段时间不操作后出现异常的解决方案 (2)https://www.cnblogs.com/bokejiayuan/p/ ...

  9. Python traceback 模块, 打印异常信息

    Python traceback 模块, 打印异常信息 参考文章: (1)Python traceback 模块, 打印异常信息 (2)https://www.cnblogs.com/xudong-b ...

最新文章

  1. ping 代理_Happy专访:Ping太高不是问题 换我不会像120一样比赛
  2. MSN8.0?!O My God,it's so perfect!
  3. 拓扑排序之变量序列代码
  4. 【数据结构与算法】之深入解析“戳气球”的求解思路与算法示例
  5. HTTP错误404.3-Not Found
  6. php301重定向跳转,php如何设置301重定向跳转
  7. qt5 窗体显示完毕信号_iPhone手机信号不好?试试这样设置,随时随地让你的手机信号满格...
  8. 我敢打赌,你对ConcurrentHashMap不了解?
  9. 市场监管总局通报部分转供电主体不执行国家电价政策案例
  10. java爬虫框架哪个好_Java爬虫(二)Java爬虫框架
  11. Java 随机生成MAC地址
  12. windows 界面设计规则与规范
  13. 职业培训学校计算机培训计划,职业技能学校关于计算机应用一级MS-Office培训开班计划.doc...
  14. word中 设置标题级别 的 快捷键
  15. 带动态行的工作流需要我们自己做的
  16. Jenkins 登录时离线 offline
  17. 新连接?新商业 一场关于商业变革的活动正在进行
  18. 【Hive】hive 微博案例
  19. android勒索软件,安卓勒索软件最新伎俩
  20. Apple Mac购买Pro App 套装 优惠方案

热门文章

  1. OpenCASCADE可视化:3D演示之3D视图设施
  2. OpenCASCADE:教程概述
  3. boost::signals2::deconstruct 作为构建后的工厂函数的测试程序
  4. boost::mp11::mp_transform_second相关用法的测试程序
  5. boost::mp11::mp_product相关用法的测试程序
  6. boost::hana::extend用法的测试程序
  7. boost::core::bit_cast的测试程序
  8. boost :: swap交换整数数组的数组
  9. DCMTK:将标准图像格式转换为DICOM的实用程序
  10. VTK:PolyData之QuantizePolyDataPoints