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

问题描述 投票:1回答:2

我有一个程序,该程序创建一个日志文件,并输出引发异常的堆栈跟踪。但是,堆栈跟踪仅打印在一行上。关于如何分解它的任何想法,而无需手动捕获异常并将它逐行分解?还是这只是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登录任何帮助将不胜感激

java logging stack trace slf4j
2个回答
1
投票

您可以使用Java's Logger

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

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

如果您要执行此操作[[困难的方式,则应记住getStackTrace() returns an array,因此必须对其进行处理。


0
投票
您应该这样使用它:

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

© www.soinside.com 2019 - 2024. All rights reserved.