clj-otel icon indicating copy to clipboard operation
clj-otel copied to clipboard

Support logs bridge API

Open devurandom opened this issue 2 years ago • 1 comments

It would be nice if clj-otel would support the recently stabilized logs and logs bridge APIs.

I am particularly interested in a clojury wrapper for:

(let [^java.time.Instant
      instant         _
      ^io.opentelemetry.api.logs.Severity
      severity        _
      ^io.opentelemetry.api.common.Attributes
      attributes      _
      ^java.lang.String
      message         _
      ^java.lang.String
      ns-str          _
      ^io.opentelemetry.api.logs.LoggerProvider
      logger-provider _
      ^io.opentelemetry.api.logs.Logger
      logger          (.get logger-provider ns-str)]
  (.emit
    (doto (.logRecordBuilder logger)
      (.setTimestamp instant)
      (.setSeverity severity)
      (.setSeverityText (.toString severity))
      (.setAllAttributes attributes)
      (.setBody message))))

(Explicit type annotations to prevent misunderstandings.)

See https://github.com/ptaoussanis/timbre/pull/374 for an example of what I am trying to do with this.

devurandom avatar Jun 19 '23 12:06 devurandom