taoensso / telemere

Structured telemetry library for Clojure/Script
https://www.taoensso.com/telemere
Eclipse Public License 1.0
104 stars 1 forks source link

OpenTelemetry: error! fails with nil body #11

Open leahneukirchen opened 1 week ago

leahneukirchen commented 1 week ago

Trying to log an exception using (error! ex) fails in setBody

value must not be null
  java.util.Objects/requireNonNull at Objects.java:259
  io.opentelemetry.api.incubator.logs.AnyValueString/create at AnyValueString.java:19
  io.opentelemetry.api.incubator.logs.AnyValue/of at AnyValue.java:37
  io.opentelemetry.sdk.logs.SdkLogRecordBuilder/setBody at SdkLogRecordBuilder.java:91
  io.opentelemetry.sdk.logs.SdkLogRecordBuilder/setBody at SdkLogRecordBuilder.java:24
  taoensso.telemere.open_telemetry$handler_COLON_open_telemetry_logger$a_handler_COLON_open_telemetry_logger__14233/invoke at NO_SOURCE_FILE:228
  taoensso.encore.signals$wrap_handler$handle_signal_BANG___12229$fn__12230/invoke at signals.cljc:730
  taoensso.encore.signals$wrap_handler$handle_signal_BANG___12229/invoke at signals.cljc:699

This can be avoided when .setBody is not called. But perhaps a default body should be constructed from exception.type and exception.message, as e.g. Loki will just display an empty line else.

ptaoussanis commented 1 week ago

Thanks for the report! Will be fixed in the next beta 👍