【发布时间】:2021-03-18 11:17:36
【问题描述】:
我有这样的代码:
catch (Exception ex) {
// Log the error
ex.printStackTrace();
logger.error("Error in Best Quote Thread: " + ex);
}
是的,我的日志中出现这样的错误: 2020-12-07 11:27:56 错误 FixProtocolConvert:162 - 修复协议转换线程中的错误:java.lang.NullPointerException
}catch (Exception ex) {
// Log the error
ex.printStackTrace();
logger.error("Error in FixProtocolConvert: " , ex);
}
我也必须尝试使用此代码,但我只能这样: 2020-12-07 14:09:52 错误 FixProtocolConvert:325 - 修复协议转换线程中的错误:java.lang.NullPointerException java.lang.NullPointerException
如何得到这个错误的准确位置?像 ex.printstacktrace 的这个例子。所以我需要将 ex.printstacktrace 的值记录到我的记录器中
com.abcd.core.datafeed.fixProtocol(FixProtocolConvert.java:121)
at
我的问题是如何得到这个错误的确切位置?因为如果我使用该代码只会得到这样的日志...... 谢谢大家
【问题讨论】:
-
你用的是什么记录器?
-
其次,不要同时使用
printStackTrace()和Logger。 -
一些记录器(例如slf4j)将异常识别为参数并对其进行特殊处理,因此请尝试
logger.error("Error in Best Quote Thread", ex);。但正如@Glains 所问,您使用的是哪个记录器? -
我刚刚创建了一些我使用它的方法 - System.err.println("Some error occurred "+e.getMessage()); //例如:发生了一些错误/零
-
我使用 Logger 使用 Slf4j cc @Glains@tgdavies
标签: java