Skip to content

Commit 03cb165

Browse files
Add the new configuration proprty[enabledJavaTimeModule]
1 parent 5bcec49 commit 03cb165

File tree

4 files changed

+22
-6
lines changed

4 files changed

+22
-6
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,19 @@ FeatureBuildItem feature() {
3434
@Record(ExecutionTime.RUNTIME_INIT)
3535
LogConsoleFormatBuildItem setUpConsoleFormatter(Capabilities capabilities, LoggingJsonRecorder recorder,
3636
Config config) {
37-
return new LogConsoleFormatBuildItem(recorder.initializeConsoleJsonLogging(config, jsonFactory(capabilities)));
37+
return new LogConsoleFormatBuildItem(recorder.initializeConsoleJsonLogging(config, jsonFactory(capabilities, config.enabledJavaTimeModule)));
3838
}
3939

4040
@BuildStep
4141
@Record(ExecutionTime.RUNTIME_INIT)
4242
LogFileFormatBuildItem setUpFileFormatter(Capabilities capabilities, LoggingJsonRecorder recorder,
4343
Config config) {
44-
return new LogFileFormatBuildItem(recorder.initializeFileJsonLogging(config, jsonFactory(capabilities)));
44+
return new LogFileFormatBuildItem(recorder.initializeFileJsonLogging(config, jsonFactory(capabilities, config.enabledJavaTimeModule)));
4545
}
4646

47-
private JsonFactory jsonFactory(Capabilities capabilities) {
47+
private JsonFactory jsonFactory(Capabilities capabilities, boolean enabledJavaTimeModule) {
4848
if (capabilities.isPresent(Capability.JACKSON)) {
49-
return new JacksonJsonFactory();
49+
return new JacksonJsonFactory(enabledJavaTimeModule);
5050
} else if (capabilities.isPresent(Capability.JSONB)) {
5151
return new JsonbJsonFactory();
5252
} else {

runtime/src/main/java/io/quarkiverse/loggingjson/config/Config.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ public class Config {
3131
*/
3232
@ConfigItem
3333
public boolean prettyPrint;
34+
35+
/**
36+
* Enable the JavaTimeModule for Jackson.
37+
*/
38+
@ConfigItem(defaultValue = "false")
39+
public boolean enabledJavaTimeModule;
40+
3441
/**
3542
* The special end-of-record delimiter to be used. By default, newline delimiter is used.
3643
*/

runtime/src/main/java/io/quarkiverse/loggingjson/jackson/JacksonJsonFactory.java

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

3+
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
34
import java.io.IOException;
45
import java.util.ServiceConfigurationError;
56

@@ -14,7 +15,11 @@ public class JacksonJsonFactory implements JsonFactory {
1415

1516
private final com.fasterxml.jackson.core.JsonFactory jsonFactory;
1617

17-
public JacksonJsonFactory() {
18+
private final boolean enabledJavaTimeModule;
19+
20+
public JacksonJsonFactory(boolean enabledJavaTimeModule) {
21+
this.enabledJavaTimeModule = enabledJavaTimeModule;
22+
1823
jsonFactory = createJsonFactory();
1924
}
2025

@@ -25,6 +30,10 @@ private com.fasterxml.jackson.core.JsonFactory createJsonFactory() {
2530
*/
2631
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
2732

33+
if (this.enabledJavaTimeModule) {
34+
objectMapper.registerModule(new JavaTimeModule());
35+
}
36+
2837
try {
2938
objectMapper.findAndRegisterModules();
3039
} catch (ServiceConfigurationError serviceConfigurationError) {

runtime/src/test/java/io/quarkiverse/loggingjson/providers/JsonProviderBaseTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
abstract class JsonProviderBaseTest {
1818

1919
private static final JsonFactory jsonb = new JsonbJsonFactory();
20-
private static final JsonFactory jackson = new JacksonJsonFactory();
20+
private static final JsonFactory jackson = new JacksonJsonFactory(false);
2121
private static final ObjectMapper mapper = new ObjectMapper();
2222

2323
protected abstract Type type();

0 commit comments

Comments
 (0)