Improve logger performance.

This commit is contained in:
Christian Kratky
2020-05-12 21:55:15 +02:00
parent f0a1f9ca93
commit a58ab607ad
51 changed files with 290 additions and 300 deletions
+7 -22
View File
@@ -7,29 +7,9 @@ namespace MQTTnet.Tests.Mockups
{
public event EventHandler<MqttNetLogMessagePublishedEventArgs> LogMessagePublished;
public IMqttNetLogger CreateChildLogger(string source)
{
return new TestLogger();
}
public void Verbose(string message, params object[] parameters)
{
}
public void Info(string message, params object[] parameters)
{
}
public void Warning(Exception exception, string message, params object[] parameters)
{
}
public void Error(Exception exception, string message, params object[] parameters)
{
}
public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
public IMqttNetScopedLogger CreateScopedLogger(string source)
{
return new MqttNetScopedLogger(this, source);
}
public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, Exception exception)
@@ -40,5 +20,10 @@ namespace MQTTnet.Tests.Mockups
Message = message
}));
}
public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
{
throw new NotImplementedException();
}
}
}
@@ -1,19 +1,18 @@
using MQTTnet.Adapter;
using MQTTnet.Client.Options;
using MQTTnet.Diagnostics;
namespace MQTTnet.Tests.Mockups
{
public class TestMqttCommunicationAdapterFactory : IMqttClientAdapterFactory
{
private readonly IMqttChannelAdapter _adapter;
readonly IMqttChannelAdapter _adapter;
public TestMqttCommunicationAdapterFactory(IMqttChannelAdapter adapter)
{
_adapter = adapter;
}
public IMqttChannelAdapter CreateClientAdapter(IMqttClientOptions options, IMqttNetLogger logger)
public IMqttChannelAdapter CreateClientAdapter(IMqttClientOptions options)
{
return _adapter;
}
@@ -24,7 +24,7 @@ namespace MQTTnet.Tests
//var globalLogCount = 0;
var localLogCount = 0;
var logger = new MqttNetLogger(null, logId);
var logger = new MqttNetLogger(logId);
// TODO: This is commented out because it is affected by other tests.
//// we have a theoretical bug here if a concurrent test is also logging
@@ -10,6 +10,7 @@ namespace MQTTnet.Tests
public void Root_Log_Messages()
{
var logger = new MqttNetLogger();
var childLogger = logger.CreateScopedLogger("Source1");
var logMessagesCount = 0;
@@ -18,10 +19,10 @@ namespace MQTTnet.Tests
logMessagesCount++;
};
logger.Verbose("Verbose");
logger.Info("Info");
logger.Warning(null, "Warning");
logger.Error(null, "Error");
childLogger.Verbose("Verbose");
childLogger.Info("Info");
childLogger.Warning(null, "Warning");
childLogger.Error(null, "Error");
Assert.AreEqual(4, logMessagesCount);
}
@@ -30,7 +31,7 @@ namespace MQTTnet.Tests
public void Bubbling_Log_Messages()
{
var logger = new MqttNetLogger();
var childLogger = logger.CreateChildLogger("Source1");
var childLogger = logger.CreateScopedLogger("Source1");
var logMessagesCount = 0;
@@ -50,8 +51,8 @@ namespace MQTTnet.Tests
[TestMethod]
public void Set_Custom_Log_ID()
{
var logger = new MqttNetLogger(null, "logId");
var childLogger = logger.CreateChildLogger("Source1");
var logger = new MqttNetLogger("logId");
var childLogger = logger.CreateScopedLogger("Source1");
logger.LogMessagePublished += (s, e) =>
{
@@ -156,7 +156,7 @@ namespace MQTTnet.Tests
[TestMethod]
public void Serialize_LargePacket()
{
var serializer = new MqttV311PacketFormatter();
var serializer = new MqttV311PacketFormatter(new MqttPacketWriter());
const int payloadLength = 80000;
@@ -560,11 +560,11 @@ namespace MQTTnet.Tests
IMqttPacketFormatter serializer;
if (protocolVersion == MqttProtocolVersion.V311)
{
serializer = new MqttV311PacketFormatter();
serializer = new MqttV311PacketFormatter(new MqttPacketWriter());
}
else if (protocolVersion == MqttProtocolVersion.V310)
{
serializer = new MqttV310PacketFormatter();
serializer = new MqttV310PacketFormatter(new MqttPacketWriter());
}
else
{