diff --git a/e2e/android/app/build.gradle.kts b/e2e/android/app/build.gradle.kts index 0aba5dfa8..50a86af99 100644 --- a/e2e/android/app/build.gradle.kts +++ b/e2e/android/app/build.gradle.kts @@ -84,6 +84,13 @@ android { } } +tasks.withType().configureEach { + systemProperty( + "java.util.logging.config.file", + project.file("src/test/resources/logging.properties").absolutePath + ) +} + dependencies { // Uncomment to use the local project implementation(project(":observability-android")) diff --git a/e2e/android/app/src/test/resources/logging.properties b/e2e/android/app/src/test/resources/logging.properties new file mode 100644 index 000000000..566888f81 --- /dev/null +++ b/e2e/android/app/src/test/resources/logging.properties @@ -0,0 +1,19 @@ +# JUL configuration for unit tests. +# +# The OTLP HTTP exporter logs SEVERE stack traces whenever it can't reach its +# endpoint. In tests the exporter is pointed at a per-test MockWebServer that +# only has the sampling-config response enqueued, so every span/log/metric +# export fails with either "unexpected end of stream" (no response in queue) +# or "Connection refused" (previous test's server already shut down). These +# failures are irrelevant because assertions read telemetry from +# InMemoryTelemetryInspector, not HTTP. Silence those loggers to keep test +# output readable. + +handlers = java.util.logging.ConsoleHandler +.level = INFO + +java.util.logging.ConsoleHandler.level = INFO +java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter + +io.opentelemetry.exporter.internal.http.HttpExporter.level = OFF +io.opentelemetry.exporter.internal.grpc.GrpcExporter.level = OFF