直接上代码,记录异常详情:
try{ // dosomething } catch (Exception ex) { bsresult = "发送过程出现异常,请联系系统管理员!"; this.logger.error(bsresult,ex); result = "发送失败"; // 记录异常 StringBuffer exc = new StringBuffer(); exc.append(DateUtil.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss SSS") + "###" +ex+":"+ex.getMessage()); StackTraceElement[] st = ex.getStackTrace(); for (StackTraceElement stackTraceElement : st){ String exclass = stackTraceElement.getClassName(); String method = stackTraceElement.getMethodName(); exc.append("<br> 【类:" + exclass + "】调用"+ method + "时在第" + stackTraceElement.getLineNumber()+ "行代码处发生异常!异常类型:" + ex.getClass().getName()); } this.emailErrorInfo(exc.toString()); }
发送邮件:
private void emailErrorInfo(String excpetion) { try { final PropertiesHelper propertiesHelper = PropertiesHelper.getPropertiesHelper(); String[] emailAddress = propertiesHelper.getConfigElement("EMAIL_ADDRESS").split(","); final String title = "系统异常信息"; final String content = "您好!" + "<br> 发生错误:" + "<br> 报错信息:" + excpetion + "<br> 谢谢!"; // 发送邮件 new SendMail().sendHTMLMail(emailAddress, title, content, null); this.logger.info("###########################################发送邮件完成"); } catch (final Exception e) { this.logger.info("发送邮件失败", e); } }
浙公网安备 33010602011771号