https://github.com/hyperdxio/hyperdx-deno
OpenTelemetry log handler for Deno's std/log module
https://github.com/hyperdxio/hyperdx-deno
deno opentelemetry
Last synced: about 2 months ago
JSON representation
OpenTelemetry log handler for Deno's std/log module
- Host: GitHub
- URL: https://github.com/hyperdxio/hyperdx-deno
- Owner: hyperdxio
- License: mit
- Created: 2023-10-11T20:57:05.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-26T08:29:36.000Z (over 2 years ago)
- Last Synced: 2025-02-26T06:17:12.880Z (over 1 year ago)
- Topics: deno, opentelemetry
- Language: TypeScript
- Homepage: https://hyperdx.io/docs/install/deno
- Size: 43.9 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenTelemetry Support for Deno
⚠️ Currently only supports OpenTelemetry Logging. For tracing support, [see the following guide](https://dev.to/grunet/leveraging-opentelemetry-in-deno-45bj#a-minimal-interesting-example).
## Logging
Logging is supported by exporting a custom logger for the `std/log` module.
**Example usage:**
```typescript
import * as log from 'https://deno.land/std@0.213.0/log/mod.ts';
import { OpenTelemetryHandler } from 'npm:@hyperdx/deno';
const otelHandler = new OpenTelemetryHandler('DEBUG');
log.setup({
handlers: {
otel: otelHandler,
},
loggers: {
'my-otel-logger': {
level: 'DEBUG',
handlers: ['otel'],
},
},
});
log.getLogger('my-otel-logger').info('Hello from Deno!');
// OPTIONAL: Flush the logger to ensure all logs are sent to OTEL_EXPORTER_OTLP_ENDPOINT
otelHandler.flush();
```