@logtape/otel 1.3.0-dev.381 → 1.3.0-dev.383
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -6
- package/deno.json +1 -1
- package/dist/deno.cjs +1 -1
- package/dist/deno.js +1 -1
- package/dist/deno.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -84,25 +84,26 @@ Or you can even pass an existing OpenTelemetry [`LoggerProvider`] instance:
|
|
|
84
84
|
~~~~ typescript
|
|
85
85
|
import { configure } from "@logtape/logtape";
|
|
86
86
|
import { getOpenTelemetrySink } from "@logtape/otel";
|
|
87
|
-
import { OTLPLogExporter } from
|
|
87
|
+
import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
|
|
88
88
|
import {
|
|
89
89
|
LoggerProvider,
|
|
90
90
|
SimpleLogRecordProcessor,
|
|
91
|
-
} from
|
|
91
|
+
} from "@opentelemetry/sdk-logs";
|
|
92
92
|
|
|
93
93
|
const exporter = new OTLPLogExporter({
|
|
94
|
-
url: "https://my-otel-collector:
|
|
94
|
+
url: "https://my-otel-collector:4318/v1/logs",
|
|
95
95
|
headers: { "x-api-key": "my-api-key" },
|
|
96
96
|
});
|
|
97
|
-
const loggerProvider = new LoggerProvider(
|
|
98
|
-
|
|
97
|
+
const loggerProvider = new LoggerProvider({
|
|
98
|
+
processors: [new SimpleLogRecordProcessor(exporter)],
|
|
99
|
+
});
|
|
99
100
|
|
|
100
101
|
await configure({
|
|
101
102
|
sinks: {
|
|
102
103
|
otel: getOpenTelemetrySink({ loggerProvider }),
|
|
103
104
|
},
|
|
104
105
|
loggers: [
|
|
105
|
-
{ category: [], sinks: ["otel"],
|
|
106
|
+
{ category: [], sinks: ["otel"], lowestLevel: "debug" },
|
|
106
107
|
],
|
|
107
108
|
});
|
|
108
109
|
~~~~
|
|
@@ -115,6 +116,56 @@ function and [`OpenTelemetrySinkOptions`] type.
|
|
|
115
116
|
[`LoggerProvider`]: https://open-telemetry.github.io/opentelemetry-js/classes/_opentelemetry_sdk_logs.LoggerProvider.html
|
|
116
117
|
|
|
117
118
|
|
|
119
|
+
Protocol selection
|
|
120
|
+
------------------
|
|
121
|
+
|
|
122
|
+
By default, the sink uses the `http/json` protocol to send logs to the
|
|
123
|
+
OpenTelemetry collector. You can change the protocol by setting the
|
|
124
|
+
`OTEL_EXPORTER_OTLP_PROTOCOL` or `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` environment
|
|
125
|
+
variable:
|
|
126
|
+
|
|
127
|
+
~~~~ bash
|
|
128
|
+
# Use gRPC protocol (server environments only)
|
|
129
|
+
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
|
|
130
|
+
|
|
131
|
+
# Use HTTP/Protobuf protocol
|
|
132
|
+
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
|
|
133
|
+
|
|
134
|
+
# Use HTTP/JSON protocol (default)
|
|
135
|
+
export OTEL_EXPORTER_OTLP_PROTOCOL=http/json
|
|
136
|
+
~~~~
|
|
137
|
+
|
|
138
|
+
The available protocols are:
|
|
139
|
+
|
|
140
|
+
- `grpc`: Uses gRPC transport. This is only available in server environments
|
|
141
|
+
(Node.js, Deno, Bun) and not in browsers due to gRPC's HTTP/2 requirement.
|
|
142
|
+
- `http/protobuf`: Uses HTTP transport with Protocol Buffers encoding.
|
|
143
|
+
Works in all environments.
|
|
144
|
+
- `http/json`: Uses HTTP transport with JSON encoding. Works in all
|
|
145
|
+
environments. This is the default.
|
|
146
|
+
|
|
147
|
+
> [!NOTE]
|
|
148
|
+
> When using gRPC protocol, make sure to use the correct port (typically 4317
|
|
149
|
+
> for gRPC vs 4318 for HTTP).
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
No-op fallback
|
|
153
|
+
--------------
|
|
154
|
+
|
|
155
|
+
If no OTLP endpoint is configured (neither via options nor environment
|
|
156
|
+
variables), the sink automatically falls back to a no-op logger that discards
|
|
157
|
+
all log records. This prevents errors when running in environments where
|
|
158
|
+
OpenTelemetry is not set up.
|
|
159
|
+
|
|
160
|
+
The sink checks for endpoints in the following order:
|
|
161
|
+
|
|
162
|
+
1. `otlpExporterConfig.url` option
|
|
163
|
+
2. `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` environment variable
|
|
164
|
+
3. `OTEL_EXPORTER_OTLP_ENDPOINT` environment variable
|
|
165
|
+
|
|
166
|
+
If none of these are set, the no-op fallback is used.
|
|
167
|
+
|
|
168
|
+
|
|
118
169
|
Diagnostic logging
|
|
119
170
|
------------------
|
|
120
171
|
|
package/deno.json
CHANGED
package/dist/deno.cjs
CHANGED
package/dist/deno.js
CHANGED
package/dist/deno.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deno.js","names":[],"sources":["../deno.json"],"sourcesContent":["{\n \"name\": \"@logtape/otel\",\n \"version\": \"1.3.0-dev.
|
|
1
|
+
{"version":3,"file":"deno.js","names":[],"sources":["../deno.json"],"sourcesContent":["{\n \"name\": \"@logtape/otel\",\n \"version\": \"1.3.0-dev.383+6e95a990\",\n \"license\": \"MIT\",\n \"exports\": {\n \".\": \"./src/mod.ts\"\n },\n \"imports\": {\n \"@opentelemetry/api\": \"npm:@opentelemetry/api@^1.9.0\",\n \"@opentelemetry/api-logs\": \"npm:@opentelemetry/api-logs@^0.208.0\",\n \"@opentelemetry/exporter-logs-otlp-grpc\": \"npm:@opentelemetry/exporter-logs-otlp-grpc@^0.208.0\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"npm:@opentelemetry/exporter-logs-otlp-http@^0.208.0\",\n \"@opentelemetry/exporter-logs-otlp-proto\": \"npm:@opentelemetry/exporter-logs-otlp-proto@^0.208.0\",\n \"@opentelemetry/otlp-exporter-base\": \"npm:@opentelemetry/otlp-exporter-base@^0.208.0\",\n \"@opentelemetry/resources\": \"npm:@opentelemetry/resources@^2.2.0\",\n \"@opentelemetry/sdk-logs\": \"npm:@opentelemetry/sdk-logs@^0.208.0\",\n \"@opentelemetry/semantic-conventions\": \"npm:@opentelemetry/semantic-conventions@^1.38.0\"\n },\n \"tasks\": {\n \"build\": \"pnpm build\",\n \"test\": \"deno test --allow-net --allow-env\"\n }\n}\n"],"mappings":";WACU;cACG;cACA;cACA,EACT,KAAK,eACN;cACU;CACT,sBAAsB;CACtB,2BAA2B;CAC3B,0CAA0C;CAC1C,0CAA0C;CAC1C,2CAA2C;CAC3C,qCAAqC;CACrC,4BAA4B;CAC5B,2BAA2B;CAC3B,uCAAuC;AACxC;YACQ;CACP,SAAS;CACT,QAAQ;AACT;mBArBH;;;;;;;AAsBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@logtape/otel",
|
|
3
|
-
"version": "1.3.0-dev.
|
|
3
|
+
"version": "1.3.0-dev.383+6e95a990",
|
|
4
4
|
"description": "LogTape OpenTelemetry sink",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"LogTape",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"sideEffects": false,
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@logtape/logtape": "^1.3.0-dev.
|
|
45
|
+
"@logtape/logtape": "^1.3.0-dev.383+6e95a990"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@opentelemetry/api": "^1.9.0",
|