diff --git a/src/main/java/org/jboss/arquillian/testcontainers/api/LoggingConsumer.java b/src/main/java/org/jboss/arquillian/testcontainers/api/LoggingConsumer.java
new file mode 100644
index 0000000..5352b92
--- /dev/null
+++ b/src/main/java/org/jboss/arquillian/testcontainers/api/LoggingConsumer.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright The Arquillian Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.jboss.arquillian.testcontainers.api;
+
+import java.util.function.Consumer;
+import java.util.logging.Logger;
+
+import org.testcontainers.containers.output.OutputFrame;
+
+/**
+ * A simple consumer for containers which logs the container lines to a {@linkplain Logger logger}.
+ *
+ * @author James R. Perkins
+ */
+public class LoggingConsumer implements Consumer {
+
+ private final Logger logger;
+
+ /**
+ * Creates a new logger with the name of {@link Class#getName()}.
+ *
+ * @param type the type to extract the name from
+ */
+ public LoggingConsumer(final Class> type) {
+ this(type.getName());
+ }
+
+ /**
+ * Creates a new logger with the name passed in.
+ *
+ * @param name the name for the logger
+ */
+ public LoggingConsumer(final String name) {
+ this.logger = Logger.getLogger(name);
+ }
+
+ /**
+ * Creates a new logger with the name of {@link Class#getName()}.
+ *
+ * @param type the type to extract the name from
+ */
+ public static LoggingConsumer of(final Class> type) {
+ return new LoggingConsumer(type);
+ }
+
+ /**
+ * Creates a new logger with the name passed in.
+ *
+ * @param name the name for the logger
+ */
+ public static LoggingConsumer of(final String name) {
+ return new LoggingConsumer(name);
+ }
+
+ @Override
+ public void accept(final OutputFrame outputFrame) {
+ final OutputFrame.OutputType outputType = outputFrame.getType();
+ final String utf8String = outputFrame.getUtf8StringWithoutLineEnding();
+ switch (outputType) {
+ case END:
+ break;
+ case STDOUT:
+ logger.info(utf8String);
+ break;
+ case STDERR:
+ logger.severe(utf8String);
+ break;
+ default:
+ throw new IllegalArgumentException("Unexpected outputType " + outputType);
+ }
+ }
+}