@@ -22,14 +22,6 @@ public StdioServerTransportTests(ITestOutputHelper testOutputHelper)
2222 InitializationTimeout = TimeSpan . FromSeconds ( 10 ) ,
2323 ServerInstructions = "Test Instructions"
2424 } ;
25-
26- // Override the LoggerFactory to use Trace level for testing Trace-level logging
27- LoggerFactory = Microsoft . Extensions . Logging . LoggerFactory . Create ( builder =>
28- {
29- builder . AddProvider ( XunitLoggerProvider ) ;
30- builder . AddProvider ( MockLoggerProvider ) ;
31- builder . SetMinimumLevel ( LogLevel . Trace ) ;
32- } ) ;
3325 }
3426
3527 [ Fact ( Skip = "https://github.com/modelcontextprotocol/csharp-sdk/issues/143" ) ]
@@ -207,19 +199,27 @@ public async Task SendMessageAsync_Should_Preserve_Unicode_Characters()
207199 public async Task SendMessageAsync_Should_Log_At_Trace_Level ( )
208200 {
209201 // Arrange
202+ var mockLoggerProvider = new MockLoggerProvider ( ) ;
203+ using var traceLoggerFactory = Microsoft . Extensions . Logging . LoggerFactory . Create ( builder =>
204+ {
205+ builder . AddProvider ( XunitLoggerProvider ) ;
206+ builder . AddProvider ( mockLoggerProvider ) ;
207+ builder . SetMinimumLevel ( LogLevel . Trace ) ;
208+ } ) ;
209+
210210 using var output = new MemoryStream ( ) ;
211211
212212 await using var transport = new StreamServerTransport (
213213 new Pipe ( ) . Reader . AsStream ( ) ,
214214 output ,
215- loggerFactory : LoggerFactory ) ;
215+ loggerFactory : traceLoggerFactory ) ;
216216
217217 // Act
218218 var message = new JsonRpcRequest { Method = "test" , Id = new RequestId ( 44 ) } ;
219219 await transport . SendMessageAsync ( message , TestContext . Current . CancellationToken ) ;
220220
221221 // Assert
222- var traceLogMessages = MockLoggerProvider . LogMessages
222+ var traceLogMessages = mockLoggerProvider . LogMessages
223223 . Where ( x => x . LogLevel == LogLevel . Trace && x . Message . Contains ( "transport sending message" ) )
224224 . ToList ( ) ;
225225
@@ -231,6 +231,14 @@ public async Task SendMessageAsync_Should_Log_At_Trace_Level()
231231 public async Task ReadMessagesAsync_Should_Log_Received_At_Trace_Level ( )
232232 {
233233 // Arrange
234+ var mockLoggerProvider = new MockLoggerProvider ( ) ;
235+ using var traceLoggerFactory = Microsoft . Extensions . Logging . LoggerFactory . Create ( builder =>
236+ {
237+ builder . AddProvider ( XunitLoggerProvider ) ;
238+ builder . AddProvider ( mockLoggerProvider ) ;
239+ builder . SetMinimumLevel ( LogLevel . Trace ) ;
240+ } ) ;
241+
234242 var message = new JsonRpcRequest { Method = "test" , Id = new RequestId ( 99 ) } ;
235243 var json = JsonSerializer . Serialize ( message , McpJsonUtilities . DefaultOptions ) ;
236244
@@ -240,7 +248,7 @@ public async Task ReadMessagesAsync_Should_Log_Received_At_Trace_Level()
240248 await using var transport = new StreamServerTransport (
241249 input ,
242250 Stream . Null ,
243- loggerFactory : LoggerFactory ) ;
251+ loggerFactory : traceLoggerFactory ) ;
244252
245253 // Act
246254 await pipe . Writer . WriteAsync ( Encoding . UTF8 . GetBytes ( $ "{ json } \n ") , TestContext . Current . CancellationToken ) ;
@@ -250,7 +258,7 @@ public async Task ReadMessagesAsync_Should_Log_Received_At_Trace_Level()
250258 Assert . True ( canRead , "Nothing to read here from transport message reader" ) ;
251259
252260 // Assert
253- var traceLogMessages = MockLoggerProvider . LogMessages
261+ var traceLogMessages = mockLoggerProvider . LogMessages
254262 . Where ( x => x . LogLevel == LogLevel . Trace && x . Message . Contains ( "transport received message" ) )
255263 . ToList ( ) ;
256264
0 commit comments