Skip to content

Commit

Permalink
Update TCK (#178)
Browse files Browse the repository at this point in the history
* Add logs TCK

* Update logs TCK

* test jul
  • Loading branch information
yasmin-aumeeruddy authored Jun 11, 2024
1 parent a2e5f7d commit 6244f76
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 138 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,55 +23,40 @@
import java.util.logging.Logger;

import org.eclipse.microprofile.telemetry.logs.tck.TestLibraries;
import org.eclipse.microprofile.telemetry.logs.tck.exporter.InMemoryLogRecordExporter;
import org.eclipse.microprofile.telemetry.logs.tck.exporter.InMemoryLogRecordExporterProvider;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.testng.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.asset.StringAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.slf4j.bridge.SLF4JBridgeHandler;
import org.testng.Assert;
import org.testng.annotations.Test;

import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender;
import io.opentelemetry.sdk.autoconfigure.spi.logs.ConfigurableLogRecordExporterProvider;
import jakarta.inject.Inject;

public class LogAppenderTest extends Arquillian {
@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap.create(WebArchive.class)
.addClasses(InMemoryLogRecordExporter.class, InMemoryLogRecordExporterProvider.class)
.addAsLibrary(TestLibraries.AWAITILITY_LIB)
.addAsServiceProvider(ConfigurableLogRecordExporterProvider.class,
InMemoryLogRecordExporterProvider.class)
.addAsResource(new StringAsset(
"otel.sdk.disabled=false\notel.metrics.exporter=none\notel.traces.exporter=none\notel.logs.exporter=otlp"),
"otel.sdk.disabled=false\notel.metrics.exporter=none\notel.traces.exporter=none\notel.logs.exporter=logging\notel.service.name=openliberty"),
"META-INF/microprofile-config.properties")
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
}

@Inject
private OpenTelemetry openTelemetry;

@Inject
private InMemoryLogRecordExporter memoryExporter;

private static final java.util.logging.Logger julLogger = Logger.getLogger("jul-logger");
private static final Logger julLogger = Logger.getLogger("jul-logger");

@Test
void julTest() throws InterruptedException {
// Install OpenTelemetry in logback appender
OpenTelemetryAppender.install(openTelemetry);

// Route JUL logs to slf4j
SLF4JBridgeHandler.removeHandlersForRootLogger();
SLF4JBridgeHandler.install();
julLogger.info("A JUL log message");
System.out.println(openTelemetry);
Assert.assertEquals(memoryExporter.getFinishedLogRecordItems(1).get(0).getBody(), "A JUL log message");
julLogger.info("A JUL log message");
julLogger.info("A JUL log message");
julLogger.info("A JUL log message");
Thread.sleep(10000);
}
}

This file was deleted.

This file was deleted.

11 changes: 11 additions & 0 deletions tck/logs/src/main/resources/logback.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="OpenTelemetry"
class="io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender">
<captureExperimentalAttributes>true</captureExperimentalAttributes>
<captureKeyValuePairAttributes>true</captureKeyValuePairAttributes>
</appender>
<root level="INFO">
<appender-ref ref="OpenTelemetry"/>
</root>
</configuration>

0 comments on commit 6244f76

Please sign in to comment.