Skip to content

Commit a51de71

Browse files
Bjoern2felixbarny
authored andcommitted
Add method addTopLevelLabel() to EcsEncoder and EcsLayout (#41) (#42)
1 parent c6d03b8 commit a51de71

File tree

7 files changed

+20
-1
lines changed

7 files changed

+20
-1
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ void testTopLevelLabels() throws Exception {
8282
assertThat(getLastLogLine().get("transaction.id").textValue()).isEqualTo("0af7651916cd43dd8448eb211c80319c");
8383
assertThat(getLastLogLine().get("span.id").textValue()).isEqualTo("foo");
8484
}
85+
86+
@Test
87+
void testCustomTopLevelLabels() throws Exception {
88+
putMdc("top_level", "foo");
89+
debug("test");
90+
assertThat(getLastLogLine().get("labels.top_level")).isNull();
91+
assertThat(getLastLogLine().get("top_level").textValue()).isEqualTo("foo");
92+
}
8593

8694
@Test
8795
void testLogException() throws Exception {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void serializeExceptionAsArray() throws IOException {
7070
exception.printStackTrace(new PrintWriter(stringWriter));
7171
assertThat(StreamSupport.stream(jsonNode.get("error.stack_trace").spliterator(), false)
7272
.map(JsonNode::textValue)
73-
.collect(Collectors.joining("\n", "", "\n")))
73+
.collect(Collectors.joining(System.lineSeparator(), "", System.lineSeparator())))
7474
.isEqualTo(stringWriter.toString());
7575
}
7676

log4j-ecs-layout/src/main/java/co/elastic/logging/log4j/EcsLayout.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,8 @@ public void setIncludeOrigin(boolean includeOrigin) {
9999
public void setStackTraceAsArray(boolean stackTraceAsArray) {
100100
this.stackTraceAsArray = stackTraceAsArray;
101101
}
102+
103+
public void addTopLevelLabel(String topLevelLabel) {
104+
this.topLevelLabels.add(topLevelLabel);
105+
}
102106
}

log4j-ecs-layout/src/test/java/co/elastic/logging/log4j/Log4jEcsLayoutTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ void setUp() {
5252
ecsLayout.setServiceName("test");
5353
ecsLayout.setStackTraceAsArray(true);
5454
ecsLayout.setIncludeOrigin(true);
55+
ecsLayout.addTopLevelLabel("top_level");
5556
appender.setLayout(ecsLayout);
5657
}
5758

logback-ecs-encoder/src/main/java/co/elastic/logging/logback/EcsEncoder.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ public byte[] encode(ILoggingEvent event) {
8686
// all these allocations kinda hurt
8787
return builder.toString().getBytes(UTF_8);
8888
}
89+
90+
public void addTopLevelLabel(String topLevelLabel) {
91+
this.topLevelLabels.add(topLevelLabel);
92+
}
8993

9094
private void serializeMarkers(ILoggingEvent event, StringBuilder builder) {
9195
Marker marker = event.getMarker();

logback-ecs-encoder/src/test/java/co/elastic/logging/logback/EcsEncoderTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ void setUp() {
4646
ecsEncoder.setIncludeMarkers(true);
4747
ecsEncoder.setStackTraceAsArray(true);
4848
ecsEncoder.setIncludeOrigin(true);
49+
ecsEncoder.addTopLevelLabel("top_level");
4950
ecsEncoder.start();
5051
appender.setEncoder(ecsEncoder);
5152
appender.start();

logback-ecs-encoder/src/test/resources/logback-config.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<includeMarkers>true</includeMarkers>
77
<includeOrigin>true</includeOrigin>
88
<stackTraceAsArray>true</stackTraceAsArray>
9+
<topLevelLabel>top_level</topLevelLabel>
910
</encoder>
1011
</appender>
1112
<root level="DEBUG">

0 commit comments

Comments
 (0)