/** * @param separator * @return a StringBuffer. */ private StringBuffer getTextReportException( final String separator) { StringBuffer sb = new StringBuffer(); if (throwable != null) { Throwable cause = ExceptionUtils.getRealCause(throwable); sb.append(TEXT_HRULE); sb.append(TEXT_CR + getString("EXCEPTION.HEADER.EXCEPTION")); sb.append(TEXT_HRULE); sb.append(TEXT_CR + getString("EXCEPTION.EXCEPTION.NAME") + separator + cause.getClass().getSimpleName()); sb.append(TEXT_CR + getString("EXCEPTION.EXCEPTION.MESSAGE") + separator + cause.getMessage()); sb.append(TEXT_CR + getString("EXCEPTION.EXCEPTION.SHORT_STACK_TRACE") + separator); sb.append(TEXT_CR + ExceptionUtils.getShortPrintableStackTrace(throwable)); sb.append(TEXT_CR + getString("EXCEPTION.EXCEPTION.STACK_TRACE") + separator); sb.append(TEXT_CR + ExceptionUtils.getPrintableStackTrace(throwable)); } return sb; }
/** * Log a text report. * @param t * @param textReport */ protected void logTextReport(final Throwable t, final String textReport) { if (SimpleExceptionServiceFactoryImpl.ERROR.equals(logLevel.toLowerCase())) { logger.error(textReport); } else if (SimpleExceptionServiceFactoryImpl.WARN.equals(logLevel.toLowerCase())) { logger.error(ExceptionUtils.getShortPrintableStackTrace(t)); logger.warn(textReport); } else if (SimpleExceptionServiceFactoryImpl.INFO.equals(logLevel.toLowerCase())) { logger.error(ExceptionUtils.getShortPrintableStackTrace(t)); logger.info(textReport); } else if (SimpleExceptionServiceFactoryImpl.TRACE.equals(logLevel.toLowerCase())) { logger.error(ExceptionUtils.getShortPrintableStackTrace(t)); if (logger.isTraceEnabled()) { logger.trace(textReport); } } else { logger.error(ExceptionUtils.getShortPrintableStackTrace(t)); if (logger.isDebugEnabled()) { logger.debug(textReport); } } }