Downgrade HTTPs handshake failures to debug #1853

This commit is contained in:
Chris Ross (ASP.NET) 2018-04-12 09:25:44 -07:00
parent c6fa9793eb
commit ee12c4fcf2
2 changed files with 23 additions and 11 deletions

View File

@ -182,13 +182,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Https.Internal
} }
catch (OperationCanceledException) catch (OperationCanceledException)
{ {
_logger?.LogInformation(2, CoreStrings.AuthenticationTimedOut); _logger?.LogDebug(2, CoreStrings.AuthenticationTimedOut);
sslStream.Dispose(); sslStream.Dispose();
return _closedAdaptedConnection; return _closedAdaptedConnection;
} }
catch (IOException ex) catch (IOException ex)
{ {
_logger?.LogInformation(1, ex, CoreStrings.AuthenticationFailed); _logger?.LogDebug(1, ex, CoreStrings.AuthenticationFailed);
sslStream.Dispose(); sslStream.Dispose();
return _closedAdaptedConnection; return _closedAdaptedConnection;
} }

View File

@ -114,7 +114,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
} }
[Fact] [Fact]
public async Task EmptyRequestLoggedAsInformation() public async Task EmptyRequestLoggedAsDebug()
{ {
var loggerProvider = new HandshakeErrorLoggerProvider(); var loggerProvider = new HandshakeErrorLoggerProvider();
@ -126,7 +126,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
listenOptions.UseHttps(TestResources.TestCertificatePath, "testPassword"); listenOptions.UseHttps(TestResources.TestCertificatePath, "testPassword");
}); });
}) })
.ConfigureLogging(builder => builder.AddProvider(loggerProvider)) .ConfigureLogging(builder =>
{
builder.AddProvider(loggerProvider);
builder.SetMinimumLevel(LogLevel.Debug);
})
.Configure(app => { }); .Configure(app => { });
using (var host = hostBuilder.Build()) using (var host = hostBuilder.Build())
@ -142,13 +146,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
} }
Assert.Equal(1, loggerProvider.FilterLogger.LastEventId.Id); Assert.Equal(1, loggerProvider.FilterLogger.LastEventId.Id);
Assert.Equal(LogLevel.Information, loggerProvider.FilterLogger.LastLogLevel); Assert.Equal(LogLevel.Debug, loggerProvider.FilterLogger.LastLogLevel);
Assert.True(loggerProvider.ErrorLogger.TotalErrorsLogged == 0, Assert.True(loggerProvider.ErrorLogger.TotalErrorsLogged == 0,
userMessage: string.Join(Environment.NewLine, loggerProvider.ErrorLogger.ErrorMessages)); userMessage: string.Join(Environment.NewLine, loggerProvider.ErrorLogger.ErrorMessages));
} }
[Fact] [Fact]
public async Task ClientHandshakeFailureLoggedAsInformation() public async Task ClientHandshakeFailureLoggedAsDebug()
{ {
var loggerProvider = new HandshakeErrorLoggerProvider(); var loggerProvider = new HandshakeErrorLoggerProvider();
@ -160,7 +164,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
listenOptions.UseHttps(TestResources.TestCertificatePath, "testPassword"); listenOptions.UseHttps(TestResources.TestCertificatePath, "testPassword");
}); });
}) })
.ConfigureLogging(builder => builder.AddProvider(loggerProvider)) .ConfigureLogging(builder =>
{
builder.AddProvider(loggerProvider);
builder.SetMinimumLevel(LogLevel.Debug);
})
.Configure(app => { }); .Configure(app => { });
using (var host = hostBuilder.Build()) using (var host = hostBuilder.Build())
@ -178,7 +186,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
} }
Assert.Equal(1, loggerProvider.FilterLogger.LastEventId.Id); Assert.Equal(1, loggerProvider.FilterLogger.LastEventId.Id);
Assert.Equal(LogLevel.Information, loggerProvider.FilterLogger.LastLogLevel); Assert.Equal(LogLevel.Debug, loggerProvider.FilterLogger.LastLogLevel);
Assert.True(loggerProvider.ErrorLogger.TotalErrorsLogged == 0, Assert.True(loggerProvider.ErrorLogger.TotalErrorsLogged == 0,
userMessage: string.Join(Environment.NewLine, loggerProvider.ErrorLogger.ErrorMessages)); userMessage: string.Join(Environment.NewLine, loggerProvider.ErrorLogger.ErrorMessages));
} }
@ -349,7 +357,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
} }
[Fact] [Fact]
public async Task HandshakeTimesOutAndIsLoggedAsInformation() public async Task HandshakeTimesOutAndIsLoggedAsDebug()
{ {
var loggerProvider = new HandshakeErrorLoggerProvider(); var loggerProvider = new HandshakeErrorLoggerProvider();
var hostBuilder = TransportSelector.GetWebHostBuilder() var hostBuilder = TransportSelector.GetWebHostBuilder()
@ -364,7 +372,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
}); });
}); });
}) })
.ConfigureLogging(builder => builder.AddProvider(loggerProvider)) .ConfigureLogging(builder =>
{
builder.AddProvider(loggerProvider);
builder.SetMinimumLevel(LogLevel.Debug);
})
.Configure(app => app.Run(httpContext => Task.CompletedTask)); .Configure(app => app.Run(httpContext => Task.CompletedTask));
using (var host = hostBuilder.Build()) using (var host = hostBuilder.Build())
@ -381,7 +393,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
await loggerProvider.FilterLogger.LogTcs.Task.TimeoutAfter(TestConstants.DefaultTimeout); await loggerProvider.FilterLogger.LogTcs.Task.TimeoutAfter(TestConstants.DefaultTimeout);
Assert.Equal(2, loggerProvider.FilterLogger.LastEventId); Assert.Equal(2, loggerProvider.FilterLogger.LastEventId);
Assert.Equal(LogLevel.Information, loggerProvider.FilterLogger.LastLogLevel); Assert.Equal(LogLevel.Debug, loggerProvider.FilterLogger.LastLogLevel);
} }
private class HandshakeErrorLoggerProvider : ILoggerProvider private class HandshakeErrorLoggerProvider : ILoggerProvider