Skip to content

Commit 1fd3d4b

Browse files
committed
Making the jackson module config flexible.
1 parent 819d283 commit 1fd3d4b

File tree

4 files changed

+69
-14
lines changed

4 files changed

+69
-14
lines changed

deployment/src/main/java/io/quarkiverse/loggingjson/deployment/LoggingJsonProcessor.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package io.quarkiverse.loggingjson.deployment;
22

3+
import java.util.ArrayList;
34
import java.util.Collection;
5+
import java.util.List;
46

57
import jakarta.inject.Inject;
68

@@ -58,7 +60,9 @@ LogSocketFormatBuildItem setUpSocketFormatter(Capabilities capabilities, Logging
5860

5961
@BuildStep
6062
void autoRegisterModules(BuildProducer<ClassPathJacksonModuleBuildItem> classPathJacksonModules) {
61-
for (String moduleClassName : configJackson.modules()) {
63+
List<String> moduleNames = new ArrayList<>(configJackson.baseModules());
64+
configJackson.additionalModules().ifPresent(moduleNames::addAll);
65+
for (String moduleClassName : moduleNames) {
6266
if (QuarkusClassLoader.isClassPresentAtRuntime(moduleClassName)) {
6367
classPathJacksonModules.produce(new ClassPathJacksonModuleBuildItem(moduleClassName));
6468
}

deployment/src/main/java/io/quarkiverse/loggingjson/deployment/config/ConfigJackson.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.quarkiverse.loggingjson.deployment.config;
22

33
import java.util.List;
4+
import java.util.Optional;
45

56
import io.quarkus.runtime.annotations.ConfigPhase;
67
import io.quarkus.runtime.annotations.ConfigRoot;
@@ -13,12 +14,20 @@
1314
public interface ConfigJackson {
1415

1516
/**
16-
* List of jackson modules to register.
17+
* List of default jackson modules to register always.
1718
*
1819
* @return module names list
1920
*/
20-
@WithName("modules")
21+
@WithName("base-modules")
2122
@WithDefault("com.fasterxml.jackson.datatype.jsr310.JavaTimeModule,com.fasterxml.jackson.datatype.jdk8.Jdk8Module,com.fasterxml.jackson.module.paramnames.ParameterNamesModule")
22-
List<String> modules();
23+
List<String> baseModules();
24+
25+
/**
26+
* List of additional jackson modules to register.
27+
*
28+
* @return module names list
29+
*/
30+
@WithName("additional-modules")
31+
Optional<List<String>> additionalModules();
2332

2433
}

docs/modules/ROOT/pages/includes/quarkus-logging-json.adoc

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,48 @@ h|[.header-title]##Configuration property##
77
h|Type
88
h|Default
99

10-
a|icon:lock[title=Fixed at build time] [[quarkus-logging-json_quarkus-log-json-jackson-object-mapper-modules]] [.property-path]##link:#quarkus-logging-json_quarkus-log-json-jackson-object-mapper-modules[`quarkus.log.json.jackson.object.mapper.modules`]##
10+
a|icon:lock[title=Fixed at build time] [[quarkus-logging-json_quarkus-log-json-jackson-object-mapper-base-modules]] [.property-path]##link:#quarkus-logging-json_quarkus-log-json-jackson-object-mapper-base-modules[`quarkus.log.json.jackson.object.mapper.base-modules`]##
1111
ifdef::add-copy-button-to-config-props[]
12-
config_property_copy_button:+++quarkus.log.json.jackson.object.mapper.modules+++[]
12+
config_property_copy_button:+++quarkus.log.json.jackson.object.mapper.base-modules+++[]
1313
endif::add-copy-button-to-config-props[]
1414

1515

1616
[.description]
1717
--
18-
List of jackson modules to register.
18+
List of default jackson modules to register always.
1919

2020

2121
ifdef::add-copy-button-to-env-var[]
22-
Environment variable: env_var_with_copy_button:+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_MODULES+++[]
22+
Environment variable: env_var_with_copy_button:+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_BASE_MODULES+++[]
2323
endif::add-copy-button-to-env-var[]
2424
ifndef::add-copy-button-to-env-var[]
25-
Environment variable: `+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_MODULES+++`
25+
Environment variable: `+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_BASE_MODULES+++`
2626
endif::add-copy-button-to-env-var[]
2727
--
2828
|list of string
2929
|`+++com.fasterxml.jackson.datatype.jsr310.JavaTimeModule+++`, `+++com.fasterxml.jackson.datatype.jdk8.Jdk8Module+++`, `+++com.fasterxml.jackson.module.paramnames.ParameterNamesModule+++`
3030

31+
a|icon:lock[title=Fixed at build time] [[quarkus-logging-json_quarkus-log-json-jackson-object-mapper-additional-modules]] [.property-path]##link:#quarkus-logging-json_quarkus-log-json-jackson-object-mapper-additional-modules[`quarkus.log.json.jackson.object.mapper.additional-modules`]##
32+
ifdef::add-copy-button-to-config-props[]
33+
config_property_copy_button:+++quarkus.log.json.jackson.object.mapper.additional-modules+++[]
34+
endif::add-copy-button-to-config-props[]
35+
36+
37+
[.description]
38+
--
39+
List of additional jackson modules to register.
40+
41+
42+
ifdef::add-copy-button-to-env-var[]
43+
Environment variable: env_var_with_copy_button:+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_ADDITIONAL_MODULES+++[]
44+
endif::add-copy-button-to-env-var[]
45+
ifndef::add-copy-button-to-env-var[]
46+
Environment variable: `+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_ADDITIONAL_MODULES+++`
47+
endif::add-copy-button-to-env-var[]
48+
--
49+
|list of string
50+
|
51+
3152
a| [[quarkus-logging-json_quarkus-log-json-console-enabled]] [.property-path]##link:#quarkus-logging-json_quarkus-log-json-console-enabled[`quarkus.log.json.console.enabled`]##
3253
ifdef::add-copy-button-to-config-props[]
3354
config_property_copy_button:+++quarkus.log.json.console.enabled+++[]

docs/modules/ROOT/pages/includes/quarkus-logging-json_quarkus.log.adoc

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,48 @@ h|[.header-title]##Configuration property##
77
h|Type
88
h|Default
99

10-
a|icon:lock[title=Fixed at build time] [[quarkus-logging-json_quarkus-log-json-jackson-object-mapper-modules]] [.property-path]##link:#quarkus-logging-json_quarkus-log-json-jackson-object-mapper-modules[`quarkus.log.json.jackson.object.mapper.modules`]##
10+
a|icon:lock[title=Fixed at build time] [[quarkus-logging-json_quarkus-log-json-jackson-object-mapper-base-modules]] [.property-path]##link:#quarkus-logging-json_quarkus-log-json-jackson-object-mapper-base-modules[`quarkus.log.json.jackson.object.mapper.base-modules`]##
1111
ifdef::add-copy-button-to-config-props[]
12-
config_property_copy_button:+++quarkus.log.json.jackson.object.mapper.modules+++[]
12+
config_property_copy_button:+++quarkus.log.json.jackson.object.mapper.base-modules+++[]
1313
endif::add-copy-button-to-config-props[]
1414

1515

1616
[.description]
1717
--
18-
List of jackson modules to register.
18+
List of default jackson modules to register always.
1919

2020

2121
ifdef::add-copy-button-to-env-var[]
22-
Environment variable: env_var_with_copy_button:+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_MODULES+++[]
22+
Environment variable: env_var_with_copy_button:+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_BASE_MODULES+++[]
2323
endif::add-copy-button-to-env-var[]
2424
ifndef::add-copy-button-to-env-var[]
25-
Environment variable: `+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_MODULES+++`
25+
Environment variable: `+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_BASE_MODULES+++`
2626
endif::add-copy-button-to-env-var[]
2727
--
2828
|list of string
2929
|`+++com.fasterxml.jackson.datatype.jsr310.JavaTimeModule+++`, `+++com.fasterxml.jackson.datatype.jdk8.Jdk8Module+++`, `+++com.fasterxml.jackson.module.paramnames.ParameterNamesModule+++`
3030

31+
a|icon:lock[title=Fixed at build time] [[quarkus-logging-json_quarkus-log-json-jackson-object-mapper-additional-modules]] [.property-path]##link:#quarkus-logging-json_quarkus-log-json-jackson-object-mapper-additional-modules[`quarkus.log.json.jackson.object.mapper.additional-modules`]##
32+
ifdef::add-copy-button-to-config-props[]
33+
config_property_copy_button:+++quarkus.log.json.jackson.object.mapper.additional-modules+++[]
34+
endif::add-copy-button-to-config-props[]
35+
36+
37+
[.description]
38+
--
39+
List of additional jackson modules to register.
40+
41+
42+
ifdef::add-copy-button-to-env-var[]
43+
Environment variable: env_var_with_copy_button:+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_ADDITIONAL_MODULES+++[]
44+
endif::add-copy-button-to-env-var[]
45+
ifndef::add-copy-button-to-env-var[]
46+
Environment variable: `+++QUARKUS_LOG_JSON_JACKSON_OBJECT_MAPPER_ADDITIONAL_MODULES+++`
47+
endif::add-copy-button-to-env-var[]
48+
--
49+
|list of string
50+
|
51+
3152
a| [[quarkus-logging-json_quarkus-log-json-console-enabled]] [.property-path]##link:#quarkus-logging-json_quarkus-log-json-console-enabled[`quarkus.log.json.console.enabled`]##
3253
ifdef::add-copy-button-to-config-props[]
3354
config_property_copy_button:+++quarkus.log.json.console.enabled+++[]

0 commit comments

Comments
 (0)