【发布时间】:2013-03-03 11:56:13
【问题描述】:
New Relic 中的 Events : Errors 选项卡显示我的应用程序使用 NewRelic.noticeError(exception) 报告的异常(日期、时间、消息和堆栈跟踪)。对于那些从网络交易报告的人,它显示了完美的交易 URL。但是对于使用@Trace 注释报告的后台任务,它会显示线程的名称。这是没有意义的,因为线程的名称类似于 pool-23-thread-9927。
我可以为每个后台任务分配一个显示名称,或者在报告错误时传递一个名称,以便它显示在 URL 列中,而不是线程的名称?
注意:如果可以避免的话,我宁愿不更改线程的名称。
更新
这里是代码的概述。该事务包含在PingJob 中,它会捕获并报告异常。
public class PingJob implements Callable<PingStatus>
{
@Trace(metricName = "ping", dispatcher = true)
@Override
public PingStatus call() {
try {
// calls that may throw exceptions
}
catch (RuntimeException e) {
// pass to utility method to log and/or report to New Relic
ExceptionLogger.log(e, LOG);
}
}
}
我在 New Relic 网站上看到 ExceptionLogger 报告的异常,但 URL 列列出了线程的名称而不是事务,在本例中为 ping。
【问题讨论】:
标签: java error-reporting newrelic