Struts2 控制台不打印异常的解决方案
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全局异常后控制台无法打印异常信息问题
- <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>
- <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>
- <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=WARN
或
- log4j.logger.com.opensymphony.xwork2=ERROR
- 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? (booleantrue|false)
- logLevel (optional) - what log level should we use (trace, debug, info, warn, error, fatal)? - defaut is debug
- logCategory (optional) - If provided we would usethiscategory (eg. com.mycompany.app). Default is to use com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.
- logEnabled (optional) - Should exceptions also be logged? (booleantrue|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 thiscategory (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 控制台不打印异常的解决方案相关推荐
- tomcat控制台不打印异常问题
解决办法 在tomcat中conf文件夹下logging.properties文件中修改以下属性 添加 java.util.logging.ConsoleHandler 如下: org.apache. ...
- python Intel Real Sense D435 异常检测与抛出(获取/打印异常详细信息 traceback.print_exc())
文章目录 背景描述 首先熟悉一下python异常处理的几个关键字 摄像头USB断开异常 获取异常详细信息 背景描述 在摄像头运行的时候,有时候会遇到一些错误,比如帧传输错误引起的程序结束, 但更为严重 ...
- 打印异常堆栈_定位生产问题时,异常堆栈莫名丢了,何解?
今天分享的这个知识有点冷,相信很多 Java 程序员很少遇到,废话不多说,直接进入排查问题的真实讨论现场. 小 猿:有个 NPE 异常,有空帮忙看看是哪里出的? 架构师:我没有看到空指针堆栈啊!? 小 ...
- cf游戏服务器显示怪文,cf游戏服务器异常怎么解决方案
cf游戏服务器异常怎么解决方案 内容精选 换一换 云服务器列表页面,云服务器的状态显示为"异常".进入云服务器列表页面,鼠标移动至"异常"状态处,查看具体的异常 ...
- 【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...
- Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法
Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...
- celery 运行时 (from . import async, base)SyntaxError: invalid syntax 异常的解决方案
celery 运行时 (from . import async, base)SyntaxError: invalid syntax 异常的解决方案 参考文章: (1)celery 运行时 (from ...
- MYSQL连接一段时间不操作后出现异常的解决方案
MYSQL连接一段时间不操作后出现异常的解决方案 参考文章: (1)MYSQL连接一段时间不操作后出现异常的解决方案 (2)https://www.cnblogs.com/bokejiayuan/p/ ...
- Python traceback 模块, 打印异常信息
Python traceback 模块, 打印异常信息 参考文章: (1)Python traceback 模块, 打印异常信息 (2)https://www.cnblogs.com/xudong-b ...
最新文章
- ping 代理_Happy专访:Ping太高不是问题 换我不会像120一样比赛
- MSN8.0?!O My God,it's so perfect!
- 拓扑排序之变量序列代码
- 【数据结构与算法】之深入解析“戳气球”的求解思路与算法示例
- HTTP错误404.3-Not Found
- php301重定向跳转,php如何设置301重定向跳转
- qt5 窗体显示完毕信号_iPhone手机信号不好?试试这样设置,随时随地让你的手机信号满格...
- 我敢打赌,你对ConcurrentHashMap不了解?
- 市场监管总局通报部分转供电主体不执行国家电价政策案例
- java爬虫框架哪个好_Java爬虫(二)Java爬虫框架
- Java 随机生成MAC地址
- windows 界面设计规则与规范
- 职业培训学校计算机培训计划,职业技能学校关于计算机应用一级MS-Office培训开班计划.doc...
- word中 设置标题级别 的 快捷键
- 带动态行的工作流需要我们自己做的
- Jenkins 登录时离线 offline
- 新连接?新商业 一场关于商业变革的活动正在进行
- 【Hive】hive 微博案例
- android勒索软件,安卓勒索软件最新伎俩
- Apple Mac购买Pro App 套装 优惠方案
热门文章
- OpenCASCADE可视化:3D演示之3D视图设施
- OpenCASCADE:教程概述
- boost::signals2::deconstruct 作为构建后的工厂函数的测试程序
- boost::mp11::mp_transform_second相关用法的测试程序
- boost::mp11::mp_product相关用法的测试程序
- boost::hana::extend用法的测试程序
- boost::core::bit_cast的测试程序
- boost :: swap交换整数数组的数组
- DCMTK:将标准图像格式转换为DICOM的实用程序
- VTK:PolyData之QuantizePolyDataPoints