【问题标题】:Logging Exceptions with Opentracing and Jaeger使用 Opentracing 和 Jaeger 记录异常
【发布时间】:2019-03-18 13:44:25
【问题描述】:

我已经在 J​​ava 环境中使用 Opentracing 设置了 Jaeger,它可以很好地使用 span 和跟踪记录消息。但是在捕获和记录异常时我有点卡住了。

    try
    {
        span.log(ImmutableMap.of("Exeption", "ex"));
        throw new IllegalArgumentException("Expecting one argument");
    }
    catch(Exception ex)
    {
       span.log(ImmutableMap.of("Error", ex));
       span.log(ImmutableMap.of("Event", "error", "Error-object", ex, "message", ex.getStackTrace()));
    }

但是这种方式并不能以一种可读性好的方式格式化错误日志。

我四处寻找有关此的信息,因为感觉很明显应该有,因为这是它的日志组件之一。但不知何故,我从未见过任何关于此的事情。它主要是关于构建和构建跨度。 希望任何人在捕获和记录异常时都可以帮助我。

【问题讨论】:

标签: java opentracing jaeger


【解决方案1】:

这个问题看起来更多地与 Java 本身有关,而不是 Opentracing 和 Jaeger。因为ex.getStackTrace() 是更多的问题。因为它应该更像

StringWriter errors = new StringWriter();
ex.printStackTrace(new PrintWriter(errors));
span.setTag("error", true);
span.log(ImmutableMap.of("stack", errors));

问题解决了。

【讨论】:

    猜你喜欢
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 2019-04-26
    相关资源
    最近更新 更多