|
4 | 4 | {:author "Dennis Schridde (@devurandom)"} |
5 | 5 | (:require |
6 | 6 | [taoensso.encore :as enc] |
7 | | - [steffan-westcott.clj-otel.api.attributes :as attr]) |
| 7 | + [steffan-westcott.clj-otel.api.attributes :as attr] |
| 8 | + [steffan-westcott.clj-otel.context :as context]) |
8 | 9 |
|
9 | | - (:import [io.opentelemetry.api.logs LoggerProvider Severity])) |
| 10 | + (:import |
| 11 | + (io.opentelemetry.api.logs LoggerProvider Severity) |
| 12 | + (io.opentelemetry.context Context) |
| 13 | + (java.util Date))) |
10 | 14 |
|
11 | 15 | (comment (set! *warn-on-reflection* true)) |
12 | 16 |
|
|
65 | 69 | (doto (AutoConfiguredOpenTelemetrySdk/builder) |
66 | 70 | (.setResultAsGlobal false))) |
67 | 71 |
|
| 72 | + For correlation with traces also configure Timbre to use the middleware- |
| 73 | + :middleware [otlp/middleware] |
| 74 | +
|
68 | 75 | [1] Ref. <https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md#version-200-2024-01-12>" |
69 | 76 | [{:keys [^LoggerProvider logger-provider]}] |
70 | 77 | {:enabled? true |
|
73 | 80 | :rate-limit nil |
74 | 81 | :output-fn :inherit |
75 | 82 | :fn |
76 | | - (fn [{:keys [^java.util.Date instant level ^String ?ns-str |
77 | | - ?file ?line ?err vargs msg_ context]}] |
| 83 | + (fn [{:keys [^Date instant level ^String ?ns-str |
| 84 | + ?file ?line ?err vargs msg_ context] |
| 85 | + ::keys [^Context otel-context]}] |
78 | 86 |
|
79 | 87 | (let [logger (.get logger-provider ?ns-str) |
80 | 88 | timestamp (.toInstant instant) |
|
95 | 103 | ;; Ref. <https://github.com/steffan-westcott/clj-otel/issues/8> |
96 | 104 | (.emit |
97 | 105 | (doto (.logRecordBuilder logger) |
| 106 | + (.setContext otel-context) |
98 | 107 | (.setAllAttributes attributes) |
99 | 108 | (.setTimestamp timestamp) |
100 | 109 | (.setBody message) |
101 | 110 | (.setSeverity severity) |
102 | 111 | (.setSeverityText (.toString severity))))))}) |
| 112 | + |
| 113 | +(defn middleware |
| 114 | + [data] |
| 115 | + (assoc data ::otel-context (context/current))) |
0 commit comments