diff options
Diffstat (limited to 'runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java')
-rw-r--r-- | runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java index c6e177c..c8bb310 100644 --- a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java +++ b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java @@ -29,10 +29,14 @@ public class Formatter extends ExtFormatter { private static final String ERROR_EVENT_TYPE = "type.googleapis.com/google.devtools.clouderrorreporting.v1beta1.ReportedErrorEvent"; - private final List<ParameterProvider> parameterProviders; + private final List<StructuredParameterProvider> parameterProviders; + private final List<LabelProvider> labelProviders; - public Formatter(Collection<ParameterProvider> parameterProviders) { + public Formatter( + Collection<StructuredParameterProvider> parameterProviders, + Collection<LabelProvider> labelProviders) { this.parameterProviders = List.copyOf(parameterProviders); + this.labelProviders = List.copyOf(labelProviders); } @Override @@ -43,12 +47,21 @@ public class Formatter extends ExtFormatter { Map<String, String> labels = new HashMap<>(); for (var parameterProvider : parameterProviders) { - var parameter = parameterProvider.get(); + var parameter = parameterProvider.getParameter(); if (parameter != null) { parameters.add(parameter); } } + for (var labelProvider : labelProviders) { + var providedLabels = labelProvider.getLabels(); + if (providedLabels != null) { + for (var label : providedLabels) { + labels.put(label.key(), label.value()); + } + } + } + if (logRecord.getParameters() != null) { for (var parameter : logRecord.getParameters()) { if (parameter instanceof StructuredParameter) { |