Use different logger categories for client and server in McpJsonRpcEndpoint (#110)

* Use different logger categories for client and server in McpJsonRpcEndpoint

* Address PR feedback
This commit is contained in:
Stephen Halter 2025-03-26 19:18:16 -07:00 • committed by GitHub
commit 8be681543d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 3 additions and 8 deletions

View file

@ -15,7 +15,6 @@ namespace ModelContextProtocol.Client;
internal sealed class McpClient : McpJsonRpcEndpoint, IMcpClient
{
private readonly McpClientOptions _options;
private readonly ILogger _logger;
private readonly IClientTransport _clientTransport;
private volatile bool _isInitializing;
@ -31,7 +30,6 @@ internal sealed class McpClient : McpJsonRpcEndpoint, IMcpClient
: base(transport, loggerFactory)
{
_options = options;
_logger = (ILogger?)loggerFactory?.CreateLogger<McpClient>() ?? NullLogger.Instance;
_clientTransport = transport;
EndpointName = $"Client ({serverConfig.Id}: {serverConfig.Name})";

View file

@ -14,7 +14,6 @@ namespace ModelContextProtocol.Server;
internal sealed class McpServer : McpJsonRpcEndpoint, IMcpServer
{
private readonly IServerTransport? _serverTransport;
private readonly ILogger _logger;
private readonly string _serverDescription;
private volatile bool _isInitializing;
@ -33,7 +32,6 @@ internal sealed class McpServer : McpJsonRpcEndpoint, IMcpServer
Throw.IfNull(options);
_serverTransport = transport as IServerTransport;
_logger = (ILogger?)loggerFactory?.CreateLogger<McpServer>() ?? NullLogger.Instance;
ServerInstructions = options.ServerInstructions;
Services = serviceProvider;
_serverDescription = $"{options.ServerInfo.Name} {options.ServerInfo.Version}";

View file

@ -28,9 +28,10 @@ internal abstract class McpJsonRpcEndpoint : IAsyncDisposable
private readonly Dictionary<string, Func<JsonRpcRequest, CancellationToken, Task<object?>>> _requestHandlers = [];
private int _nextRequestId;
private readonly JsonSerializerOptions _jsonOptions;
private readonly ILogger _logger;
private bool _isDisposed;
protected readonly ILogger _logger;
/// <summary>
/// Initializes a new instance of the <see cref="McpJsonRpcEndpoint"/> class.
/// </summary>
@ -40,14 +41,12 @@ internal abstract class McpJsonRpcEndpoint : IAsyncDisposable
{
Throw.IfNull(transport);
loggerFactory ??= NullLoggerFactory.Instance;
_transport = transport;
_pendingRequests = new();
_notificationHandlers = new();
_nextRequestId = 1;
_jsonOptions = McpJsonUtilities.DefaultOptions;
_logger = (ILogger?)loggerFactory?.CreateLogger<McpClient>() ?? NullLogger.Instance;
_logger = loggerFactory?.CreateLogger(GetType()) ?? NullLogger.Instance;
}
/// <summary>