diff --git a/deployment/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/deployment/GoogleCloudLoggingProcessor.java b/deployment/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/deployment/GoogleCloudLoggingProcessor.java
index 8ef0962..7d4a93f 100644
--- a/deployment/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/deployment/GoogleCloudLoggingProcessor.java
+++ b/deployment/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/deployment/GoogleCloudLoggingProcessor.java
@@ -4,7 +4,6 @@
 
 package eu.mulk.quarkus.googlecloud.jsonlogging.deployment;
 
-import eu.mulk.quarkus.googlecloud.jsonlogging.runtime.GoogleCloudJsonLoggingConfiguration;
 import eu.mulk.quarkus.googlecloud.jsonlogging.runtime.GoogleCloudJsonLoggingRecorder;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
@@ -39,8 +38,7 @@
    */
   @BuildStep
   @Record(ExecutionTime.RUNTIME_INIT)
-  public LogConsoleFormatBuildItem setUpFormatter(
-      GoogleCloudJsonLoggingRecorder recorder, GoogleCloudJsonLoggingConfiguration configuration) {
-    return new LogConsoleFormatBuildItem(recorder.initialize(configuration));
+  public LogConsoleFormatBuildItem setUpFormatter(GoogleCloudJsonLoggingRecorder recorder) {
+    return new LogConsoleFormatBuildItem(recorder.initialize());
   }
 }
diff --git a/pom.xml b/pom.xml
index 94d61d3..c2af7b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,7 +72,7 @@
     <spotless-plugin.version>2.44.5</spotless-plugin.version>
     <surefire-plugin.version>3.5.3</surefire-plugin.version>
 
-    <quarkus.version>3.24.2</quarkus.version>
+    <quarkus.version>3.31.1</quarkus.version>
   </properties>
 
   <distributionManagement>
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java
index 74b63c6..2b253da 100644
--- a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java
+++ b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleCloudJsonLoggingRecorder.java
@@ -18,6 +18,13 @@
 @Recorder
 public class GoogleCloudJsonLoggingRecorder {
 
+  private final RuntimeValue<GoogleCloudJsonLoggingConfiguration> configuration;
+
+  public GoogleCloudJsonLoggingRecorder(
+      RuntimeValue<GoogleCloudJsonLoggingConfiguration> configuration) {
+    this.configuration = configuration;
+  }
+
   /**
    * Registers {@link Formatter} as a log formatter for the application.
    *
@@ -26,9 +33,8 @@
    *
    * @return the registered {@link Formatter}.
    */
-  public RuntimeValue<Optional<java.util.logging.Formatter>> initialize(
-      GoogleCloudJsonLoggingConfiguration configuration) {
-    if (!configuration.enabled()) {
+  public RuntimeValue<Optional<java.util.logging.Formatter>> initialize() {
+    if (!configuration.getValue().enabled()) {
       return new RuntimeValue<>(Optional.empty());
     }
 
