Enabling Debug logging in a flaky test

This commit is contained in:
moozzyk 2017-03-10 17:01:26 -08:00
parent e8ad3b4160
commit 4bacbfeb05
2 changed files with 20 additions and 2 deletions

View File

@ -16,6 +16,7 @@ using Xunit;
using ClientConnection = Microsoft.AspNetCore.Sockets.Client.Connection;
using Microsoft.AspNetCore.SignalR.Tests.Common;
using Xunit.Abstractions;
namespace Microsoft.AspNetCore.SignalR.Tests
{
@ -28,15 +29,19 @@ namespace Microsoft.AspNetCore.SignalR.Tests
[Collection(EndToEndTestsCollection.Name)]
public class EndToEndTests
{
private readonly ITestOutputHelper _output;
private readonly ServerFixture _serverFixture;
public EndToEndTests(ServerFixture serverFixture)
public EndToEndTests(ServerFixture serverFixture, ITestOutputHelper output)
{
if (serverFixture == null)
{
throw new ArgumentNullException(nameof(serverFixture));
}
_serverFixture = serverFixture;
_output = output;
}
[ConditionalFact]
@ -126,6 +131,7 @@ namespace Microsoft.AspNetCore.SignalR.Tests
{
var baseUrl = _serverFixture.BaseUrl;
var loggerFactory = new LoggerFactory();
loggerFactory.AddXUnit(_output, LogLevel.Debug);
var connection = new ClientConnection(new Uri(baseUrl + "/echo"), loggerFactory);
try

View File

@ -15,6 +15,11 @@ namespace Microsoft.Extensions.Logging
{
self.AddProvider(new XUnitLoggerProvider(output));
}
public static void AddXUnit(this ILoggerFactory self, ITestOutputHelper output, LogLevel minLevel)
{
self.AddProvider(new XUnitLoggerProvider(output, minLevel));
}
}
}
@ -23,15 +28,22 @@ namespace Microsoft.AspNetCore.SignalR.Tests
public class XUnitLoggerProvider : ILoggerProvider
{
private ITestOutputHelper _output;
private LogLevel _minLevel;
public XUnitLoggerProvider(ITestOutputHelper output)
: this(output, LogLevel.Trace)
{
}
public XUnitLoggerProvider(ITestOutputHelper output, LogLevel minLevel)
{
_output = output;
_minLevel = minLevel;
}
public ILogger CreateLogger(string categoryName)
{
return new XUnitLogger(_output, categoryName, LogLevel.Trace);
return new XUnitLogger(_output, categoryName, _minLevel);
}
public void Dispose()