猿问

使用 Opentracing 和 Jaeger 记录异常

我已经在Java环境中设置了Jaeger和Opentracing,它很好地记录了带有跨度和跟踪的消息。但是在捕获和记录异常时,我有点卡住了。


    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()));

    }

但是这种方式不会以良好的可读方式格式化错误日志记录。


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


凤凰求蛊
浏览 132回答 1
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));问题解决了。
随时随地看视频慕课网APP

相关分类

Java
我要回答