diff options
Diffstat (limited to 'runtime/src/main')
2 files changed, 34 insertions, 1 deletions
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 7366a55..8bdb308 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 @@ -10,6 +10,7 @@ import eu.mulk.quarkus.googlecloud.jsonlogging.StructuredParameterProvider; import io.quarkus.arc.Arc; import io.quarkus.runtime.RuntimeValue; import io.quarkus.runtime.annotations.Recorder; + import java.util.Collection; import java.util.Optional; import java.util.stream.Collectors; @@ -26,7 +27,10 @@ public class GoogleCloudJsonLoggingRecorder { * * @return the registered {@link Formatter}. */ - public RuntimeValue<Optional<java.util.logging.Formatter>> initialize() { + public RuntimeValue<Optional<java.util.logging.Formatter>> initialize(GoogleJsonLogConfig config) { + if(!config.jsonGoogle.enable) { + return new RuntimeValue<>(Optional.empty()); + } var parameterProviders = Arc.container().select(StructuredParameterProvider.class).stream() @@ -37,4 +41,5 @@ public class GoogleCloudJsonLoggingRecorder { return new RuntimeValue<>(Optional.of(Formatter.load(parameterProviders, labelProviders))); } + } diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleJsonLogConfig.java b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleJsonLogConfig.java new file mode 100644 index 0000000..b73b0bc --- /dev/null +++ b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/runtime/GoogleJsonLogConfig.java @@ -0,0 +1,28 @@ +package eu.mulk.quarkus.googlecloud.jsonlogging.runtime; + +import io.quarkus.runtime.annotations.*; + +/** + * Configuration for Google JSON log formatting. + */ +@ConfigRoot(phase = ConfigPhase.RUN_TIME, name = "log.console") +public class GoogleJsonLogConfig { + + /** + * Console google json logging. + */ + @ConfigDocSection + @ConfigItem(name = "json.google") + JsonConfig jsonGoogle; + + @ConfigGroup + public static class JsonConfig { + + /** + * Determine whether to enable the JSON console formatting extension, which disables "normal" console formatting. + */ + @ConfigItem(name = ConfigItem.PARENT, defaultValue = "true") + boolean enable; + + } +}
\ No newline at end of file |