Skip to content

Commit 0863976

Browse files
committed
created a test, ConnectionIdLoggingTest, to verify that the connection ID is correctly included in the logs
1 parent b8aa660 commit 0863976

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package org.juv25d.logging;
2+
3+
import org.junit.jupiter.api.Test;
4+
import java.util.logging.Handler;
5+
import java.util.logging.LogRecord;
6+
import java.util.logging.Logger;
7+
import java.util.ArrayList;
8+
import java.util.List;
9+
10+
import static org.junit.jupiter.api.Assertions.assertTrue;
11+
12+
class ConnectionIdLoggingTest {
13+
14+
@Test
15+
void logMessageShouldIncludeConnectionId() {
16+
// Arrange
17+
Logger logger = Logger.getLogger("test.connectionid");
18+
logger.setUseParentHandlers(false);
19+
20+
List<String> formattedMessages = new ArrayList<>();
21+
ServerLogFormatter formatter = new ServerLogFormatter();
22+
23+
Handler handler = new Handler() {
24+
@Override
25+
public void publish(LogRecord record) {
26+
formattedMessages.add(formatter.format(record));
27+
}
28+
@Override
29+
public void flush() {}
30+
@Override
31+
public void close() throws SecurityException {}
32+
};
33+
logger.addHandler(handler);
34+
35+
try {
36+
String testId = "test-123";
37+
LogContext.setConnectionId(testId);
38+
39+
// Act
40+
logger.info("This is a test message");
41+
42+
// Assert
43+
assertTrue(formattedMessages.get(0).contains("[" + testId + "]"),
44+
"Log message should contain the connection ID. Found: " + formattedMessages.get(0));
45+
} finally {
46+
LogContext.clear();
47+
}
48+
}
49+
}

0 commit comments

Comments
 (0)