繁体   English   中英

使用Opentracing和Jaeger记录异常

[英]Logging Exceptions with Opentracing and Jaeger

我在Java环境中使用Opentracing设置了Jaeger,它非常适合与跨度和跟踪记录消息一起使用。 但是,在捕获和记录异常方面我有些困惑。

    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有关。 因为ex.getStackTrace()是更多的问题。 因为它应该更像

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

问题解决了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM