From 90606338fb60b6c5bff3231bb1c2390e3ed48cdd Mon Sep 17 00:00:00 2001 From: BrennanConroy Date: Thu, 2 Aug 2018 15:21:24 -0700 Subject: [PATCH] Log when closing connection due to timeout (#2722) --- .../HubConnectionContext.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs b/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs index a67fa133df..98583d9903 100644 --- a/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs +++ b/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs @@ -502,6 +502,7 @@ namespace Microsoft.AspNetCore.SignalR { if (!_receivedMessageThisInterval) { + Log.ClientTimeout(_logger, TimeSpan.FromTicks(_clientTimeoutInterval)); Abort(); } @@ -560,6 +561,9 @@ namespace Microsoft.AspNetCore.SignalR private static readonly Action _abortFailed = LoggerMessage.Define(LogLevel.Trace, new EventId(8, "AbortFailed"), "Abort callback failed."); + private static readonly Action _clientTimeout = + LoggerMessage.Define(LogLevel.Debug, new EventId(9, "ClientTimeout"), "Client timeout ({ClientTimeout}ms) elapsed without receiving a message from the client. Closing connection."); + public static void HandshakeComplete(ILogger logger, string hubProtocol) { _handshakeComplete(logger, hubProtocol, null); @@ -599,6 +603,11 @@ namespace Microsoft.AspNetCore.SignalR { _abortFailed(logger, exception); } + + public static void ClientTimeout(ILogger logger, TimeSpan timeout) + { + _clientTimeout(logger, (int)timeout.TotalMilliseconds, null); + } } } }