Skip to content

Commit 2ccc261

Browse files
authored
Serialize thread name for JUL if record is from current thread (#104)
1 parent b7151a9 commit 2ccc261

File tree

3 files changed

+7
-14
lines changed

3 files changed

+7
-14
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
@@ -48,7 +48,7 @@ void testMetadata() throws Exception {
4848
assertThat(getLastLogLine().get("process.thread.name").textValue()).isEqualTo(Thread.currentThread().getName());
4949
assertThat(getLastLogLine().get("service.name").textValue()).isEqualTo("test");
5050
assertThat(Instant.parse(getLastLogLine().get("@timestamp").textValue())).isCloseTo(Instant.now(), within(1, ChronoUnit.MINUTES));
51-
assertThat(getLastLogLine().get("log.level").textValue()).isEqualTo("DEBUG");
51+
assertThat(getLastLogLine().get("log.level").textValue()).isIn("DEBUG", "FINE");
5252
assertThat(getLastLogLine().get("log.logger")).isNotNull();
5353
assertThat(getLastLogLine().get("event.dataset").textValue()).isEqualTo("testdataset.log");
5454
}

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,11 @@ public String format(final LogRecord record) {
6161
EcsJsonSerializer.serializeMDC(builder, mdcSupplier.getMDC());
6262
EcsJsonSerializer.serializeServiceName(builder, serviceName);
6363
EcsJsonSerializer.serializeEventDataset(builder, eventDataset);
64-
EcsJsonSerializer.serializeThreadId(builder, record.getThreadID());
64+
if (Thread.currentThread().getId() == record.getThreadID()) {
65+
EcsJsonSerializer.serializeThreadName(builder, Thread.currentThread().getName());
66+
} else {
67+
EcsJsonSerializer.serializeThreadId(builder, record.getThreadID());
68+
}
6569
EcsJsonSerializer.serializeLoggerName(builder, record.getLoggerName());
6670
if (includeOrigin && record.getSourceClassName() != null && record.getSourceMethodName() != null) {
6771
EcsJsonSerializer.serializeOrigin(builder, buildFileName(record.getSourceClassName()), record.getSourceMethodName(), -1);

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

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -140,18 +140,7 @@ void testLogException() throws Exception {
140140
.collect(Collectors.joining("\n", "", "\n"));
141141
assertThat(stackTrace).contains("at co.elastic.logging.jul.JulLoggingTest.testLogException");
142142
}
143-
144-
@Test
145-
void testMetadata() throws Exception {
146-
debug("test");
147-
assertThat(getLastLogLine().get("process.thread.id").longValue()).isEqualTo(Thread.currentThread().getId());
148-
assertThat(getLastLogLine().get("service.name").textValue()).isEqualTo("test");
149-
assertThat(Instant.parse(getLastLogLine().get("@timestamp").textValue())).isCloseTo(Instant.now(), within(1, ChronoUnit.MINUTES));
150-
assertThat(getLastLogLine().get("log.level").textValue()).isEqualTo("FINE");
151-
assertThat(getLastLogLine().get("log.logger")).isNotNull();
152-
assertThat(getLastLogLine().get("event.dataset").textValue()).isEqualTo("testdataset.log");
153-
}
154-
143+
155144
@Test
156145
void testLogOrigin() throws Exception {
157146
debug("test");

0 commit comments

Comments
 (0)