File tree Expand file tree Collapse file tree
src/test/java/org/juv25d/logging Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments