# @askluna/exporter-logs-otlp-http-wintercg

> This is a wintercg compatable package of @opentelemetry/exporter-logs-otlp-http

Latest version **0.48.2** (published 2024-04-10) · Apache-2.0 license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install @askluna/exporter-logs-otlp-http-wintercg
pnpm add @askluna/exporter-logs-otlp-http-wintercg
yarn add @askluna/exporter-logs-otlp-http-wintercg
bun add @askluna/exporter-logs-otlp-http-wintercg
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.48.2 |
| Published | 2024-04-10 |
| First published | 2024-02-23 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=20 |
| Dependencies | 9 |
| Unpacked size | 520.3 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 3485 |
| Author | Ask Luna |
| Maintainers | shravansunder |
| Keywords | opentelemetry, nodejs, tracing, profiling, logs, stats, wintercg |

## Links

- npm: https://www.npmjs.com/package/@askluna/exporter-logs-otlp-http-wintercg
- Repository: https://github.com/open-telemetry/opentelemetry-js
- Homepage: https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-logs-otlp-http
- Issues: https://github.com/open-telemetry/opentelemetry-js/issues
- npm.io page: https://npm.io/package/@askluna/exporter-logs-otlp-http-wintercg

## Dependencies (9)

- [@opentelemetry/api](https://npm.io/package/@opentelemetry/api.md) ^1.7.0
- [@opentelemetry/core](https://npm.io/package/@opentelemetry/core.md) ^1.21.0
- [@opentelemetry/api-logs](https://npm.io/package/@opentelemetry/api-logs.md) ^0.48.0
- [@opentelemetry/sdk-logs](https://npm.io/package/@opentelemetry/sdk-logs.md) ^0.48.0
- [@opentelemetry/resources](https://npm.io/package/@opentelemetry/resources.md) ^1.21.0
- [@opentelemetry/sdk-trace-base](https://npm.io/package/@opentelemetry/sdk-trace-base.md) ^1.21.0
- [@opentelemetry/otlp-transformer](https://npm.io/package/@opentelemetry/otlp-transformer.md) ^0.48.0
- [@opentelemetry/otlp-exporter-base](https://npm.io/package/@opentelemetry/otlp-exporter-base.md) ^0.48.0
- [@opentelemetry/semantic-conventions](https://npm.io/package/@opentelemetry/semantic-conventions.md) ^1.21.0

## Alternatives

- [jsforce](https://npm.io/package/jsforce.md) — 851.2K weekly downloads
- [react-native-qrcode-svg](https://npm.io/package/react-native-qrcode-svg.md) — 693.5K weekly downloads
- [@salesforce/plugin-data](https://npm.io/package/@salesforce/plugin-data.md) — 394.9K weekly downloads
- [@backstage/plugin-search-common](https://npm.io/package/@backstage/plugin-search-common.md) — 308.5K weekly downloads
- [@chain-registry/types](https://npm.io/package/@chain-registry/types.md) — 38.4K weekly downloads

## Recent versions

- 0.48.2 (latest) — 2024-04-10
- 0.48.1 — 2024-02-23
- 0.48.0 — 2024-02-23

## README

# OpenTelemetry Collector Logs Exporter for web and node with HTTP

**Note: This is an experimental package under active development. New releases may include breaking changes.**

This module provides a logs-exporter for OTLP (http/json).

## Installation

```bash
npm install --save @askluna/exporter-logs-otlp-http-wintercg
```

## Use

```typescript
/**
 * Registers an OpenTelemetry logger with the specified parameters.
 * @param params - The parameters for registering the logger.
 * @param params.otelIdentifier - The identifier for the OpenTelemetry logger.
 * @param params.apiKey - The API key for authentication.
 * @param params.endpoint - The endpoint for sending logs.
 * @param reregister - Optional. Specifies whether to re-register the logger if it already exists. Default is false.
 * @returns A promise that resolves to a Result object containing the logger if successful, or an error if unsuccessful.
 */
export const registerOtelLogger = async (
 params: {
  otelIdentifier: CreateOtelLogProviderParams['otelIdentifier'];
  auth:
   | {
     kind: 'api-key';
     value: string;
     }
   | {
     kind: 'dns';
     value: string;
     };
  endpoint: string;
 },
 reregister: boolean = false
): Promise<Logger | null> => {

  const otelLogger : Logger | null = null;
  // make sure fetch is in the right state when using with https://github.com/evanderkoogh/otel-cf-workers
  // you may have to wait for the fetch proxy to be ready

 const logProvider = await createOtelLogProvider({
  otelIdentifier: params.otelIdentifier,
  exportOptions: {
   url: params.endpoint,
   headers: { [params.auth.kind]: params.auth.value },
   compression: 'gzip' as never,
   hostname: globalThis.hostUrl,
   concurrencyLimit: 1, // an optional limit on pending requests
   fetch: (input, init) => {
    return fetch(input, init);
   },
  },
 });

 if (logProvider) {
  otelLogger = createOtelLogger(logProvider, { name: params.otelIdentifier.name })
  return otelLogger;
 } else {
  otelLogger = null
 }

 return otelLogger;
};
```

## Further Documentation

Please see **@opentelemetry/exporter-logs-otlp-http** for futher details.  [Github link](https://github.com/open-telemetry/opentelemetry-js/blob/main/experimental/packages/exporter-logs-otlp-http/README.md?plain=1)

This is a shim that works to make **@opentelemetry/exporter-logs-otlp-http compatible with**

## Environment Variable Configuration

In addition to settings passed to the constructor, the exporter also supports configuration via environment variables:

| Environment variable | Description |
| --- | --- |
| OTEL_EXPORTER_OTLP_ENDPOINT | The endpoint to send logs to. This will also be used for the traces exporter if `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` is not configured. By default `http://localhost:4318` will be used. `/v1/logs` will be automatically appended to configured values. |
| OTEL_EXPORTER_OTLP_LOGS_ENDPOINT | The endpoint to send logs to. By default `https://localhost:4318/v1/logs` will be used. `v1/logs` will not be appended automatically and has to be added explicitly. |
| OTEL_EXPORTER_OTLP_LOGS_TIMEOUT | The maximum waiting time, in milliseconds, allowed to send each OTLP log batch. Default is 10000. |
| OTEL_EXPORTER_OTLP_TIMEOUT | The maximum waiting time, in milliseconds, allowed to send each OTLP trace/metric/log batch. Default is 10000. |

> Settings configured programmatically take precedence over environment variables. Per-signal environment variables take precedence over non-per-signal environment variables.

## Useful links

- For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
- For more about OpenTelemetry JavaScript: <https://github.com/open-telemetry/opentelemetry-js>
- For help or feedback on this project, join us in [GitHub Discussions](https://github.com/open-telemetry/opentelemetry-js/discussions)

## License

Apache 2.0 - See [LICENSE](https://github.com/open-telemetry/opentelemetry-js/blob/main/LICENSE) for more information.

---
_Source: https://npm.io/package/@askluna/exporter-logs-otlp-http-wintercg · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
