我已經在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())); }但是這種方式不會以良好的可讀方式格式化錯誤日志記錄。我已經四處尋找有關此內容的信息,因為它感覺很明顯,因為這是其日志記錄的組件之一。但我不知何故從未見過任何關于這個的事情。它主要是關于構建和構建跨度。希望任何人都可以在捕獲和記錄異常時幫助我。
1 回答

慕慕森
TA貢獻1856條經驗 獲得超17個贊
這個問題看起來更多地與Java本身有關,然后是Opentracing和Jaeger。因為更多的問題。因為它應該更像ex.getStackTrace()
StringWriter errors = new StringWriter();
ex.printStackTrace(new PrintWriter(errors));
span.setTag("error", true);
span.log(ImmutableMap.of("stack", errors));
問題解決了。
添加回答
舉報
0/150
提交
取消