This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j-transform.git
The following commit(s) were added to refs/heads/main by this push:
new 409760c Add trailing newlines and emit formatted JSON (#216)
409760c is described below
commit 409760ce2bde1af858e7df2685009f1fac5589a5
Author: Ryan Schmitt <[email protected]>
AuthorDate: Thu Aug 7 12:26:04 2025 -0700
Add trailing newlines and emit formatted JSON (#216)
---
.../config/internal/v2/AbstractJacksonConfigurationMapper.java | 2 ++
.../converter/config/internal/v2/JsonConfigurationMapper.java | 9 ++++++++-
.../converter/config/internal/v2/XmlConfigurationMapper.java | 1 +
.../logging/converter/config/ConfigurationConverterTest.java | 4 +++-
4 files changed, 14 insertions(+), 2 deletions(-)
diff --git
a/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/AbstractJacksonConfigurationMapper.java
b/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/AbstractJacksonConfigurationMapper.java
index dd4b488..a75d7a4 100644
---
a/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/AbstractJacksonConfigurationMapper.java
+++
b/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/AbstractJacksonConfigurationMapper.java
@@ -73,6 +73,8 @@ public abstract class AbstractJacksonConfigurationMapper
implements Configuratio
? nodeFactory.objectNode().set(configuration.getPluginName(),
configurationNode)
: configurationNode;
mapper.writeValue(outputStream, documentNode);
+ outputStream.write('\n');
+ outputStream.close();
}
private static ConfigurationNode parseObjectNode(ObjectNode objectNode,
String fieldName) {
diff --git
a/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/JsonConfigurationMapper.java
b/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/JsonConfigurationMapper.java
index 8eed7c0..2f03437 100644
---
a/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/JsonConfigurationMapper.java
+++
b/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/JsonConfigurationMapper.java
@@ -18,6 +18,8 @@ package org.apache.logging.converter.config.internal.v2;
import aQute.bnd.annotation.Resolution;
import aQute.bnd.annotation.spi.ServiceProvider;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.json.JsonMapper;
import org.apache.logging.converter.config.spi.ConfigurationMapper;
@@ -27,7 +29,12 @@ public class JsonConfigurationMapper extends
AbstractJacksonConfigurationMapper
private static final String LOG4J_V2_JSON_FORMAT = "v2:json";
public JsonConfigurationMapper() {
- super(JsonMapper.builder().build(), true);
+ super(
+ JsonMapper.builder()
+ .enable(SerializationFeature.INDENT_OUTPUT)
+ .disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET)
+ .build(),
+ true);
}
@Override
diff --git
a/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/XmlConfigurationMapper.java
b/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/XmlConfigurationMapper.java
index 077c944..f17a7bf 100644
---
a/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/XmlConfigurationMapper.java
+++
b/log4j-converter-config/src/main/java/org/apache/logging/converter/config/internal/v2/XmlConfigurationMapper.java
@@ -88,6 +88,7 @@ public class XmlConfigurationMapper implements
ConfigurationMapper {
streamWriter.writeEndElement();
streamWriter.writeEndDocument();
streamWriter.flush();
+ streamWriter.writeCharacters("\n");
} catch (XMLStreamException e) {
throw new IOException("Unable to write configuration.", e);
} finally {
diff --git
a/log4j-converter-config/src/test/java/org/apache/logging/converter/config/ConfigurationConverterTest.java
b/log4j-converter-config/src/test/java/org/apache/logging/converter/config/ConfigurationConverterTest.java
index eadf189..b0bdca8 100644
---
a/log4j-converter-config/src/test/java/org/apache/logging/converter/config/ConfigurationConverterTest.java
+++
b/log4j-converter-config/src/test/java/org/apache/logging/converter/config/ConfigurationConverterTest.java
@@ -59,8 +59,10 @@ class ConfigurationConverterTest {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
converter.convert(Objects.requireNonNull(inputStream),
inputFormat, outputStream, DEFAULT_FORMAT);
// Parse the result and check if it matches
- ConfigurationNode actual = parser.parse(new
ByteArrayInputStream(outputStream.toByteArray()));
+ byte[] outputBytes = outputStream.toByteArray();
+ ConfigurationNode actual = parser.parse(new
ByteArrayInputStream(outputBytes));
assertThat(actual).ignoringOrder().isEqualTo(EXAMPLE_V2_CONFIGURATION);
+ assertThat(new String(outputBytes)).endsWith("\n");
}
}