Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable the logging exporter by default #8647

Merged

Conversation

mateuszrzeszutek
Copy link
Member

Resolves #8633

@mateuszrzeszutek mateuszrzeszutek requested a review from a team June 5, 2023 10:18
@trask
Copy link
Member

trask commented Jun 5, 2023

@opentelemetrybot update

@trask trask enabled auto-merge (squash) June 5, 2023 19:37
@trask trask merged commit a2fd908 into open-telemetry:main Jun 5, 2023
@mateuszrzeszutek mateuszrzeszutek deleted the disable-logs-exporter-by-default branch June 6, 2023 08:07
devurandom added a commit to devurandom/timbre that referenced this pull request Jun 19, 2023
Requires io.opentelemetry/opentelemetry-api.

With Java Agent:

Activate an appender configured by the OpenTelemetry Java Agent:
```clj
(let [logger-provider (.getLogsBridge (GlobalOpenTelemetry/get))
      appender (taoensso.timbre.appenders.community.otlp/otlp-appender logger-provider)]
  (taoensso.timbre/merge-config! {:appenders {:otlp appender}}))
```

Note: When relying on the OpenTelemetry Java Agent 1.x, you need
to explicitly enable the logs exporter with `OTEL_LOGS_EXPORTER=otlp`.
This will become the default with the release of Java Agent 2.0, cf.
* https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md#version-1270-2023-06-14
* open-telemetry/opentelemetry-java-instrumentation#8647

Without Java Agent:

If you want autoconfiguration without the Java Agent, you also need
io.opentelemetry/opentelemetry-sdk-extension-autoconfigure and
io.opentelemetry/opentelemetry-exporter-otlp on the classpath.

Create an autoconfigured appender and activate it:
```clj
(let [logger-provider (.getSdkLoggerProvider
                        (.getOpenTelemetrySdk
                          (.build
                            (AutoConfiguredOpenTelemetrySdk/builder))))
      appender (taoensso.timbre.appenders.community.otlp/otlp-appender logger-provider)]
  (taoensso.timbre/merge-config! {:appenders {:otlp appender}}))
```

If you already have an instance of `GlobalOpenTelemetry`, e.g. created
by the OpenTelemetry Java Agent, you need to prevent setting the newly
created SDK as the global default:
```clj
(.build
  (doto (AutoConfiguredOpenTelemetrySdk/builder)
    (.setResultAsGlobal false)))
```

I took inspiration from `taoensso.timbre.appenders.community.sentry`.

Once steffan-westcott/clj-otel#8 is implemented,
the actual log emission should be replaced with using clj-otel's API.
devurandom added a commit to devurandom/timbre that referenced this pull request Jun 19, 2023
Requires com.github.steffan-westcott/clj-otel-api.

With Java Agent:

Activate an appender configured by the OpenTelemetry Java Agent:
```clj
(let [logger-provider (.getLogsBridge (GlobalOpenTelemetry/get))
      appender (taoensso.timbre.appenders.community.otlp/otlp-appender logger-provider)]
  (taoensso.timbre/merge-config! {:appenders {:otlp appender}}))
```

Note: When relying on the OpenTelemetry Java Agent 1.x, you need
to explicitly enable the logs exporter with `OTEL_LOGS_EXPORTER=otlp`.
This will become the default with the release of Java Agent 2.0, cf.
* https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md#version-1270-2023-06-14
* open-telemetry/opentelemetry-java-instrumentation#8647

Without Java Agent:

If you want autoconfiguration without the Java Agent, you also need
io.opentelemetry/opentelemetry-sdk-extension-autoconfigure and
io.opentelemetry/opentelemetry-exporter-otlp on the classpath.

Create an autoconfigured appender and activate it:
```clj
(let [logger-provider (.getSdkLoggerProvider
                        (.getOpenTelemetrySdk
                          (.build
                            (AutoConfiguredOpenTelemetrySdk/builder))))
      appender (taoensso.timbre.appenders.community.otlp/otlp-appender logger-provider)]
  (taoensso.timbre/merge-config! {:appenders {:otlp appender}}))
```

If you already have an instance of `GlobalOpenTelemetry`, e.g. created
by the OpenTelemetry Java Agent, you need to prevent setting the newly
created SDK as the global default:
```clj
(.build
  (doto (AutoConfiguredOpenTelemetrySdk/builder)
    (.setResultAsGlobal false)))
```

I took inspiration from `taoensso.timbre.appenders.community.sentry`.

Once steffan-westcott/clj-otel#8 is implemented,
the actual log emission should be replaced with using clj-otel's API.
devurandom added a commit to devurandom/timbre that referenced this pull request Jun 19, 2023
Requires com.github.steffan-westcott/clj-otel-api.

With Java Agent:

Activate an appender configured by the OpenTelemetry Java Agent:
```clj
(let [logger-provider (.getLogsBridge (GlobalOpenTelemetry/get))
      appender (taoensso.timbre.appenders.community.otlp/otlp-appender logger-provider)]
  (taoensso.timbre/merge-config! {:appenders {:otlp appender}}))
```

Note: When relying on the OpenTelemetry Java Agent 1.x, you need
to explicitly enable the logs exporter with `OTEL_LOGS_EXPORTER=otlp`.
This will become the default with the release of Java Agent 2.0, cf.
* https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md#version-1270-2023-06-14
* open-telemetry/opentelemetry-java-instrumentation#8647

Without Java Agent:

If you want autoconfiguration without the Java Agent, you also need
io.opentelemetry/opentelemetry-sdk-extension-autoconfigure and
io.opentelemetry/opentelemetry-exporter-otlp on the classpath.

Create an autoconfigured appender and activate it:
```clj
(let [logger-provider (.getSdkLoggerProvider
                        (.getOpenTelemetrySdk
                          (.build
                            (AutoConfiguredOpenTelemetrySdk/builder))))
      appender (taoensso.timbre.appenders.community.otlp/otlp-appender logger-provider)]
  (taoensso.timbre/merge-config! {:appenders {:otlp appender}}))
```

If you already have an instance of `GlobalOpenTelemetry`, e.g. created
by the OpenTelemetry Java Agent, you need to prevent setting the newly
created SDK as the global default:
```clj
(.build
  (doto (AutoConfiguredOpenTelemetrySdk/builder)
    (.setResultAsGlobal false)))
```

I took inspiration from `taoensso.timbre.appenders.community.sentry`.

Once steffan-westcott/clj-otel#8 is implemented,
the actual log emission should be replaced with using clj-otel's API.
devurandom added a commit to devurandom/timbre that referenced this pull request Jun 19, 2023
Requires com.github.steffan-westcott/clj-otel-api.

With Java Agent:

Activate an appender configured by the OpenTelemetry Java Agent:
```clj
(let [logger-provider (.getLogsBridge (GlobalOpenTelemetry/get))
      appender (taoensso.timbre.appenders.community.otlp/otlp-appender logger-provider)]
  (taoensso.timbre/merge-config! {:appenders {:otlp appender}}))
```

Note: When relying on the OpenTelemetry Java Agent 1.x, you need
to explicitly enable the logs exporter with `OTEL_LOGS_EXPORTER=otlp`.
This will become the default with the release of Java Agent 2.0, cf.
* https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md#version-1270-2023-06-14
* open-telemetry/opentelemetry-java-instrumentation#8647

Without Java Agent:

If you want autoconfiguration without the Java Agent, you also need
io.opentelemetry/opentelemetry-sdk-extension-autoconfigure and
io.opentelemetry/opentelemetry-exporter-otlp on the classpath.

Create an autoconfigured appender and activate it:
```clj
(let [logger-provider (.getSdkLoggerProvider
                        (.getOpenTelemetrySdk
                          (.build
                            (AutoConfiguredOpenTelemetrySdk/builder))))
      appender (taoensso.timbre.appenders.community.otlp/otlp-appender logger-provider)]
  (taoensso.timbre/merge-config! {:appenders {:otlp appender}}))
```

If you already have an instance of `GlobalOpenTelemetry`, e.g. created
by the OpenTelemetry Java Agent, you need to prevent setting the newly
created SDK as the global default:
```clj
(.build
  (doto (AutoConfiguredOpenTelemetrySdk/builder)
    (.setResultAsGlobal false)))
```

I took inspiration from `taoensso.timbre.appenders.community.sentry`.

Once steffan-westcott/clj-otel#8 is implemented,
the actual log emission should be replaced with using clj-otel's API.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Override otlp.logs.exporter to be none when updating to 1.27.0
4 participants