堆栈跟踪在日志文件(Java)中的一行上打印所有内容

时间:2013-07-25 16:20:25

标签: java logging stack trace slf4j

我有一个创建日志文件的程序,并输出抛出异常的堆栈跟踪。但是,堆栈跟踪仅打印在一行上。有关如何分解它的任何想法,而不是手动捕获异常并将其分解为行?或者这就是slf4j如何记录到文本文件?

日志文件

07-25-2013 11:11:27 [loggerError] - ERROR - [EXCEPTION] java.sql.SQLException, 
[STACK TRACE] [com.***.********.******.************.<init>(************.java:195), ***.***.*******.****.***********.main(***********.java:210)]

记录代码

 loggerError.error("[EXCEPTION] {}, \n[STACK TRACE] {}", e, e.getStackTrace());

使用myEclipse,使用slf4j进行日志记录 任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

您可以使用Java's Logger

使用Logger,这应该可以解决问题:

Logger = logger = Logger.getLogger(<YourClass>);
logger.log(Level.SEVERE, <your message>, e);

如果您想要艰难的 ,请记住getStackTrace() returns an array,因此您必须处理它。

答案 1 :(得分:0)

您应该这样使用它:

 loggerError.error("[EXCEPTION]", e);