Skip to content

Commit 4a7a6b5

Browse files
authored
ECS-JUL enhancements (#179)
1 parent 5300767 commit 4a7a6b5

File tree

3 files changed

+27
-11
lines changed

3 files changed

+27
-11
lines changed

ecs-logging-core/src/test/java/co/elastic/logging/AbstractEcsLoggingTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ void testMetadata() throws Exception {
6767
}
6868

6969
@Test
70-
final void testAdditionalFields() throws Exception {
70+
protected final void testAdditionalFields() throws Exception {
7171
debug("test");
7272
assertThat(getAndValidateLastLogLine().get("key1").textValue()).isEqualTo("value1");
7373
assertThat(getAndValidateLastLogLine().get("key2").textValue()).isEqualTo("value2");

jul-ecs-formatter/src/main/java/co/elastic/logging/jul/EcsFormatter.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,19 +88,19 @@ public String format(final LogRecord record) {
8888
return builder.toString();
8989
}
9090

91-
protected void setIncludeOrigin(final boolean includeOrigin) {
91+
public void setIncludeOrigin(final boolean includeOrigin) {
9292
this.includeOrigin = includeOrigin;
9393
}
9494

95-
protected void setServiceName(final String serviceName) {
95+
public void setServiceName(final String serviceName) {
9696
this.serviceName = serviceName;
9797
}
9898

99-
protected void setServiceNodeName(final String serviceNodeName) {
99+
public void setServiceNodeName(final String serviceNodeName) {
100100
this.serviceNodeName = serviceNodeName;
101101
}
102102

103-
protected void setStackTraceAsArray(final boolean stackTraceAsArray) {
103+
public void setStackTraceAsArray(final boolean stackTraceAsArray) {
104104
this.stackTraceAsArray = stackTraceAsArray;
105105
}
106106

@@ -112,6 +112,10 @@ public void setAdditionalFields(String additionalFields) {
112112
this.additionalFields = AdditionalField.parse(additionalFields);
113113
}
114114

115+
public void setAdditionalFields(List<AdditionalField> additionalFields) {
116+
this.additionalFields = additionalFields;
117+
}
118+
115119
private String getProperty(final String name, final String defaultValue) {
116120
String value = LogManager.getLogManager().getProperty(name);
117121
if (value == null) {

jul-ecs-formatter/src/test/java/co/elastic/logging/jul/JulLoggingTest.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
package co.elastic.logging.jul;
2626

2727
import co.elastic.logging.AbstractEcsLoggingTest;
28+
import co.elastic.logging.AdditionalField;
2829
import co.elastic.logging.ParameterizedLogSupport;
2930
import com.fasterxml.jackson.databind.JsonNode;
3031
import org.junit.jupiter.api.BeforeEach;
@@ -34,6 +35,7 @@
3435
import java.io.ByteArrayOutputStream;
3536
import java.io.IOException;
3637
import java.io.OutputStream;
38+
import java.util.List;
3739
import java.util.logging.Formatter;
3840
import java.util.logging.Handler;
3941
import java.util.logging.Level;
@@ -67,7 +69,7 @@ public void publish(LogRecord record) {
6769
}
6870
}
6971

70-
private final EcsFormatter formatter = new EcsFormatter();
72+
private EcsFormatter formatter;
7173

7274
private final Logger logger = Logger.getLogger("");
7375

@@ -108,17 +110,22 @@ public JsonNode getLastLogLine() throws IOException {
108110

109111
@BeforeEach
110112
void setUp() {
113+
setUpFormatter();
114+
formatter.setAdditionalFields("key1=value1,key2=value2");
115+
}
116+
117+
private void setUpFormatter() {
111118
clearHandlers();
112-
119+
120+
formatter = new EcsFormatter();
113121
formatter.setIncludeOrigin(true);
114122
formatter.setServiceName("test");
115123
formatter.setServiceNodeName("test-node");
116124
formatter.setEventDataset("testdataset");
117-
formatter.setAdditionalFields("key1=value1,key2=value2");
118-
125+
119126
Handler handler = new InMemoryStreamHandler(out, formatter);
120127
handler.setLevel(Level.ALL);
121-
128+
122129
logger.addHandler(handler);
123130
logger.setLevel(Level.ALL);
124131
}
@@ -131,11 +138,16 @@ void testLogOrigin() throws Exception {
131138
//No file.line for JUL
132139
}
133140

141+
@Test
142+
void testAdditionalFieldsAsList() throws Exception {
143+
setUpFormatter();
144+
formatter.setAdditionalFields(List.of(new AdditionalField("key1", "value1"), new AdditionalField("key2", "value2")));
145+
super.testAdditionalFields();
146+
}
134147

135148
private void clearHandlers() {
136149
for (Handler handler : logger.getHandlers()) {
137150
logger.removeHandler(handler);
138151
}
139152
}
140-
141153
}

0 commit comments

Comments
 (0)