diff --git a/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/IsolatorExporterTestEnvironment.java b/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/IsolatorExporterTestEnvironment.java index 67176224..4faa74eb 100644 --- a/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/IsolatorExporterTestEnvironment.java +++ b/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/IsolatorExporterTestEnvironment.java @@ -152,7 +152,8 @@ private GenericContainer createJavaAgentApplicationContainer() { .withCreateContainerCmdModifier(ContainerCmdModifier.getInstance()) .withCommand("/bin/sh application.sh") .withExposedPorts(BASE_PORT, BASE_PORT + 1, BASE_PORT + 2) - .withLogConsumer(TestContainerLogger.getInstance()) + .withLogConsumer( + new TestContainerLogger("JMX_EXPORTER_ISOLATOR_JAVAAGENT", javaDockerImage)) .withNetwork(network) .withNetworkAliases("application") .waitingFor(Wait.forLogMessage(".*JmxExampleApplication \\| Running.*\\n", 1)) diff --git a/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/JmxExporterTestEnvironment.java b/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/JmxExporterTestEnvironment.java index 38769ccd..11cd7dde 100644 --- a/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/JmxExporterTestEnvironment.java +++ b/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/JmxExporterTestEnvironment.java @@ -204,7 +204,7 @@ private GenericContainer createJavaAgentApplicationContainer() { .withCreateContainerCmdModifier(ContainerCmdModifier.getInstance()) .withCommand("/bin/sh application.sh") .withExposedPorts(8888) - .withLogConsumer(TestContainerLogger.getInstance()) + .withLogConsumer(new TestContainerLogger("JMX_EXPORTER_JAVAAGENT", javaDockerImage)) .withNetwork(network) .withNetworkAliases("application") .waitingFor(Wait.forLogMessage(".*JmxExampleApplication \\| Running.*", 1)) @@ -228,7 +228,7 @@ private GenericContainer createStandaloneApplicationContainer() { .withCreateContainerCmdModifier(ContainerCmdModifier.getInstance()) .withCommand("/bin/sh application.sh") .withExposedPorts(9999) - .withLogConsumer(TestContainerLogger.getInstance()) + .withLogConsumer(new TestContainerLogger("EXAMPLE_APPLICATION", javaDockerImage)) .withNetwork(network) .withNetworkAliases("application") .waitingFor(Wait.forLogMessage(".*JmxExampleApplication \\| Running.*", 1)) @@ -252,7 +252,8 @@ private GenericContainer createStandaloneExporterContainer() { .withCreateContainerCmdModifier(ContainerCmdModifier.getInstance()) .withCommand("/bin/sh exporter.sh") .withExposedPorts(8888) - .withLogConsumer(TestContainerLogger.getInstance()) + .withLogConsumer( + new TestContainerLogger("JMX_EXPORTER_STANDALONE", javaDockerImage)) .withNetwork(network) .withNetworkAliases("exporter") .waitingFor(Wait.forLogMessage(".*Standalone \\| Running.*", 1)) diff --git a/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/PrometheusTestEnvironment.java b/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/PrometheusTestEnvironment.java index 6e49f02c..c71fcb61 100644 --- a/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/PrometheusTestEnvironment.java +++ b/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/environment/PrometheusTestEnvironment.java @@ -24,6 +24,7 @@ import io.prometheus.jmx.test.support.http.HttpResponse; import io.prometheus.jmx.test.support.throttle.ExponentialBackoffThrottle; import io.prometheus.jmx.test.support.throttle.Throttle; +import io.prometheus.jmx.test.support.util.TestContainerLogger; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -225,13 +226,7 @@ private GenericContainer createPrometheusContainer() { .withCreateContainerCmdModifier(ContainerCmdModifier.getInstance()) .withExposedPorts(9090) .withLogConsumer( - outputFrame -> { - String string = - outputFrame.getUtf8StringWithoutLineEnding().trim(); - if (!string.isBlank()) { - System.out.println("> " + string); - } - }) + new TestContainerLogger("PROMETHEUS", prometheusDockerImage)) .withNetwork(network) .withNetworkAliases("prometheus") .waitingFor( diff --git a/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/util/TestContainerLogger.java b/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/util/TestContainerLogger.java index 3ad288db..3d6fcf74 100644 --- a/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/util/TestContainerLogger.java +++ b/integration_test_suite/integration_tests/src/main/java/io/prometheus/jmx/test/support/util/TestContainerLogger.java @@ -19,15 +19,21 @@ import java.util.function.Consumer; import org.testcontainers.containers.output.OutputFrame; -/** Class to implement SystemOutOutputFrameLogger */ +/** Class to implement TestContainerLogger */ public class TestContainerLogger implements Consumer { - /** Singleton instance */ - private static final TestContainerLogger SINGLETON = new TestContainerLogger(); + private final String prefix; + private final String dockerImage; - /** Constructor */ - private TestContainerLogger() { - // INTENTIONALLY BLANK + /** + * Constructor + * + * @param prefix the prefix to use for the log messages + * @param dockerImage the docker image to use for the log messages + */ + public TestContainerLogger(String prefix, String dockerImage) { + this.prefix = prefix; + this.dockerImage = dockerImage; } @Override @@ -35,17 +41,8 @@ public void accept(OutputFrame outputFrame) { if (outputFrame != null) { String string = outputFrame.getUtf8StringWithoutLineEnding().trim(); if (!string.isBlank()) { - System.out.println("> " + string); + System.out.println("[" + prefix + "] " + dockerImage + " | " + string); } } } - - /** - * Method to get the singleton instance of SystemOutOutputFrameLogger - * - * @return the singleton instance of SystemOutOutputFrameLogger - */ - public static TestContainerLogger getInstance() { - return SINGLETON; - } }