Improvements!

This commit is contained in:
James Newton-King 2018-04-15 20:21:45 +12:00
parent 5b188018f0
commit 5a64429fd5
No known key found for this signature in database
GPG Key ID: 0A66B2F456BF5526
2 changed files with 15 additions and 10 deletions

View File

@ -12,6 +12,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Connections;
using Microsoft.AspNetCore.Http.Connections;
using Microsoft.AspNetCore.Http.Connections.Client;
using Microsoft.AspNetCore.SignalR.Internal;
using Microsoft.AspNetCore.SignalR.Protocol;
using Microsoft.AspNetCore.SignalR.Tests;
using Microsoft.AspNetCore.Testing.xunit;
@ -437,7 +438,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests
{
bool ExpectedErrors(WriteContext writeContext)
{
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Tests.ServerLogScope" &&
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher" &&
writeContext.EventId.Name == "FailedInvokingHubMethod";
}
@ -471,7 +472,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests
{
bool ExpectedErrors(WriteContext writeContext)
{
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Tests.ServerLogScope" &&
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher" &&
writeContext.EventId.Name == "UnknownHubMethod";
}
@ -570,7 +571,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests
{
bool ExpectedErrors(WriteContext writeContext)
{
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Tests.ServerLogScope" &&
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher" &&
writeContext.EventId.Name == "UnknownHubMethod";
}
@ -639,7 +640,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests
{
bool ExpectedErrors(WriteContext writeContext)
{
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Tests.ServerLogScope" &&
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher" &&
writeContext.EventId.Name == "FailedInvokingHubMethod";
}
@ -673,7 +674,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests
{
bool ExpectedErrors(WriteContext writeContext)
{
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Tests.ServerLogScope" &&
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher" &&
writeContext.EventId.Name == "NonStreamingMethodCalledWithStream";
}
@ -706,7 +707,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests
{
bool ExpectedErrors(WriteContext writeContext)
{
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Tests.ServerLogScope" &&
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher" &&
writeContext.EventId.Name == "StreamingMethodCalledWithInvoke";
}
@ -739,7 +740,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests
{
bool ExpectedErrors(WriteContext writeContext)
{
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Tests.ServerLogScope" &&
return writeContext.LoggerName == "Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher" &&
writeContext.EventId.Name == "InvalidReturnValueFromStreamingMethod";
}

View File

@ -2,6 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Collections.Concurrent;
using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.SignalR.Tests
@ -9,21 +10,24 @@ namespace Microsoft.AspNetCore.SignalR.Tests
public class ServerLogScope : IDisposable
{
private readonly ServerFixture _serverFixture;
private readonly ILoggerFactory _loggerFactory;
private readonly IDisposable _wrappedDisposable;
private readonly ILogger _logger;
private readonly ConcurrentDictionary<string, ILogger> _loggers;
public ServerLogScope(ServerFixture serverFixture, ILoggerFactory loggerFactory, IDisposable wrappedDisposable)
{
_serverFixture = serverFixture;
_loggerFactory = loggerFactory;
_wrappedDisposable = wrappedDisposable;
_logger = loggerFactory.CreateLogger(typeof(ServerLogScope));
_loggers = new ConcurrentDictionary<string, ILogger>(StringComparer.Ordinal);
_serverFixture.ServerLogged += ServerFixtureOnServerLogged;
}
private void ServerFixtureOnServerLogged(LogRecord logRecord)
{
_logger.Log(logRecord.Write.LogLevel, logRecord.Write.EventId, logRecord.Write.State, logRecord.Write.Exception, logRecord.Write.Formatter);
var logger = _loggers.GetOrAdd(logRecord.Write.LoggerName, loggerName => _loggerFactory.CreateLogger(loggerName));
logger.Log(logRecord.Write.LogLevel, logRecord.Write.EventId, logRecord.Write.State, logRecord.Write.Exception, logRecord.Write.Formatter);
}
public void Dispose()