@@ -982,6 +982,11 @@ private static class Log
982982 EventIds . ForwardingError ,
983983 "{error}: {message}" ) ;
984984
985+ private static readonly Action < ILogger , ForwarderError , string , Exception > _proxyRequestCancelled = LoggerMessage . Define < ForwarderError , string > (
986+ LogLevel . Debug ,
987+ EventIds . ForwardingRequestCancelled ,
988+ "{error}: {message}" ) ;
989+
985990 private static readonly Action < ILogger , int , Exception ? > _notProxying = LoggerMessage . Define < int > (
986991 LogLevel . Information ,
987992 EventIds . NotForwarding ,
@@ -1031,7 +1036,21 @@ public static void InvalidSecWebSocketKeyHeader(ILogger logger, string? key)
10311036
10321037 public static void ErrorProxying ( ILogger logger , ForwarderError error , Exception ex )
10331038 {
1034- _proxyError ( logger , error , GetMessage ( error ) , ex ) ;
1039+ var message = GetMessage ( error ) ;
1040+
1041+ if ( error is
1042+ ForwarderError . RequestCanceled or
1043+ ForwarderError . RequestBodyCanceled or
1044+ ForwarderError . UpgradeRequestCanceled )
1045+ {
1046+ // These error conditions are triggered by the client and are not generally indicative of a problem with the proxy.
1047+ // It's unlikely that they will be useful in most cases, so we log them at Debug level to reduce noise.
1048+ _proxyRequestCancelled ( logger , error , message , ex ) ;
1049+ }
1050+ else
1051+ {
1052+ _proxyError ( logger , error , message , ex ) ;
1053+ }
10351054 }
10361055
10371056 public static void RetryingWebSocketDowngradeNoConnect ( ILogger logger )
0 commit comments