jsp错误页面打印日志

其实没什么可以记载的。只是当时头晕,一直犯晕,故记录下来,防止再次犯晕。

系统中配置的错误页500.jsp。有需求是在该jsp中记录错误日志信息,当时调用了后台封装的一个组合Exception信息的方法:

public static String getStackTraceMessage(Exception e){
		String message="";
		message+=e+"\n";
		StackTraceElement[] traces = e.getStackTrace();
		if(traces!=null && traces.length>0){
			for(StackTraceElement element:traces){
				message+="\tat "+element.getClassName()+"."+element.getMethodName()+"("+
						element.getFileName()+":"+element.getLineNumber()+")\n";
			}
		}
		return message;
	}

用于记录详细的异常信息。

BUT!这个是有错误的!错误信息如下:

/WEB-INF/pages/errorpage/500.jsp:14: error: method getStackTraceMessage in class ExceptionCommonUtil cannot be applied to given types;
    logger.info("\u7a0b\u5e8f\u51fa\u73b0\u5f02\u5e38\uff1a{}", ExceptionCommonUtil.getStackTraceMessage(exception));
                                                                                   ^
  required: Exception
  found: Throwable
  reason: actual argument Throwable cannot be converted to Exception by method invocation conversion
1 error
1 warning

唉,原来jsp里面内置的exception对象是Throwable的实例。而Throwable是Exception的父类,父类转化成子类需要强转。

后来就琢磨重载一下组合方法吧,在方法里将jsp传过来的exception强转成Exception再调用原来的方法。可是又想起Throwable的子类除了Exception还有Error,虽然情况很少

出现甚至没有(没有查证),但这种设计终归不完美。

最后同事提醒了一句:为什么不用slf4j的logger.error方法啊...为什么....为...

以此文谨记我可爱的同事,谨记我的榆木疙瘩!

时间: 2024-11-05 17:32:19

jsp错误页面打印日志的相关文章

黑马day06 jsp错误页面&九大隐式对象

一.如果一个页面指定了errorPage="指定错误页面" ,当这个页面出错的时候就会跳转到指定的页面进行友好的提示给用户. 1. 本6.jsp只有一行代码1/0这行代码会抛出异常,因此会跳转到指定的error页面. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" errorPage="/error.jsp"%>

error.jsp错误页面跳转,统一异常处理

常见web项目中会用倒计时然后跳转页面来处理异常 error.jsp关键代码: <script language="javascript" type="text/javascript"> var timer; //启动跳转的定时器 function startTimes() { timer = window.setInterval(showSecondes,1000); } var i = 5; function showSecondes() { if

JSP 500页面的异常信息打印

web开发中异常信息是很重的信息,对开发人员是其相当重要的,对这些异常信息进行转换为用户能理解的信息就更重要了~ 在单纯的JSP开发中,处理异常信息一般使用web.xml来定义. 01 <error-page> 02          <error-code>400</error-code> 03          <location>/400.html</location> 04      </error-page> 05 06  

【JSP】配置错误页面

1,使用JSP方式 如果配置是Jsp时,需要把isErrorPage设置为true, 以及设置 <%@ page language="Java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8" isErrorPage="true"%> 错误页面: <%@page import="java.io.PrintStream"

apache的优化-日志轮询、错误页面重定向、压缩功能deflate、客户端缓存expire

1.apache日志轮询 1.1)什么是日志轮询 默认情况下apache的日志是写入到一个文件中的,这对日志的备份和分析造成不便.日志轮询就是可以把apache的日志根据时间进行分开,例如按天轮询:即apache会把当天的日志写入到一个独立的文件中. 1.2)下载并安装日志轮询工具 wget http://cronolog.org/download/cronolog-1.6.2.tar.gz tarzxf cronolog-1.6.2.tar.gz  cdcronolog-1.6.2 ./con

ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面

应用场景和使用目的 很多时候,我们在访问页面的时候,由于程序异常.系统崩溃会导致出现黄页.在通常的情况下,黄页对于我们来说,帮助是极大的,因为它可以帮助我们知道问题根源,甚至是哪一行代码出现了错误.但这对于用户是非常可怕的,因为用户不知道发生了什么,也无法了解黄页给出的内容.甚至,如果我们遇到一些不友好的人,他们会拿这些内容大做文章,对我们网站产生威胁. 那我们如何在程序异常.系统崩溃时,不会出现黄页,并且还可以给出一些更加友好的提示呢?甚至在我们需要的时候,可以收集这些异常信息,并加以分析,能

[转载]针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结

针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结 汪宇杰 2014-1-11 星期六 02:31 455 Reads 1 Comments 自定义错误页面和异常记录是个很古老的话题了,但依旧可以让人爆到现在.在我做了无数次试验并总结经验和原则后,写下本文,已警后人. 本文的范围和限制 本文仅仅适用于部署在IIS7或以上版本中的ASP.NET 4.0集成模式应用程序.IIS7以上的意思是Windows Server 2008以上服务器适用.我已在WS2012R2,IIS8上测过.

MVC4 自定义错误页面(三)

一.概述 MVC4框架自带了定义错误页,该页面位于Shared/Error,该页面能够显示系统未能捕获的异常,如何才能使用该页面: 二.使用步骤: 1.配置WebConfig文件,在System.Web节点下加上 <customErrors mode="On"  defaultRedirect="~/Shared/Error" /> 翻阅一些大神写的博客,在他们的博客中指出defaultRedirect是指向错误页面的URL,可是经过本人测试的时候,发现

java错误页面的练习

如果一个页面没有处理异常,那么页面将会显示,显然用户不希望看到这种页面,那么我们可以跳转到友好的页面.IE自作聪明可以换其他浏览器看效果. index.jsp <%@ page contentType="text/html;charset=GBK" language="java" errorPage="errorPage.jsp" %> <%@ page import="java.sql.*" %> &