mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-29 18:02:48 +08:00
Refactor logger. (#1247)
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
using System;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using MQTTnet.Diagnostics.Logger;
|
||||
|
||||
namespace MQTTnet.Tests.Logger
|
||||
{
|
||||
[TestClass]
|
||||
public sealed class Logger_Tests : BaseTestClass
|
||||
{
|
||||
[TestMethod]
|
||||
public void Log_Without_Source()
|
||||
{
|
||||
var logger = new MqttNetEventLogger();
|
||||
|
||||
MqttNetLogMessage logMessage = null;
|
||||
logger.LogMessagePublished += (s, e) => { logMessage = e.LogMessage; };
|
||||
|
||||
logger.Publish(MqttNetLogLevel.Info, "SOURCE", "MESSAGE", new object[] { "ABC" }, new InvalidOperationException());
|
||||
|
||||
Assert.AreEqual(MqttNetLogLevel.Info, logMessage.Level);
|
||||
Assert.AreEqual("SOURCE", logMessage.Source);
|
||||
Assert.AreEqual("MESSAGE", logMessage.Message);
|
||||
Assert.AreEqual("InvalidOperationException", logMessage.Exception.GetType().Name);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Root_Log_Messages()
|
||||
{
|
||||
var logger = new MqttNetEventLogger();
|
||||
var childLogger = logger.WithSource("Source1");
|
||||
|
||||
var logMessagesCount = 0;
|
||||
|
||||
logger.LogMessagePublished += (s, e) => { logMessagesCount++; };
|
||||
|
||||
childLogger.Verbose("Verbose");
|
||||
childLogger.Info("Info");
|
||||
childLogger.Warning(null, "Warning");
|
||||
childLogger.Error(null, "Error");
|
||||
|
||||
Assert.AreEqual(4, logMessagesCount);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Use_Custom_Log_Id()
|
||||
{
|
||||
var logger = new MqttNetEventLogger("logId");
|
||||
var childLogger = logger.WithSource("Source1");
|
||||
|
||||
logger.LogMessagePublished += (s, e) =>
|
||||
{
|
||||
Assert.AreEqual("logId", e.LogMessage.LogId);
|
||||
Assert.AreEqual("Source1", e.LogMessage.Source);
|
||||
};
|
||||
|
||||
childLogger.Verbose("Verbose");
|
||||
childLogger.Info("Info");
|
||||
childLogger.Warning(null, "Warning");
|
||||
childLogger.Error(null, "Error");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using MQTTnet.Diagnostics.Logger;
|
||||
|
||||
namespace MQTTnet.Tests.Logger
|
||||
{
|
||||
[TestClass]
|
||||
public sealed class SourceLogger_Tests : BaseTestClass
|
||||
{
|
||||
[TestMethod]
|
||||
public void Log_With_Source()
|
||||
{
|
||||
MqttNetLogMessage logMessage = null;
|
||||
|
||||
var logger = new MqttNetEventLogger();
|
||||
logger.LogMessagePublished += (s, e) =>
|
||||
{
|
||||
logMessage = e.LogMessage;
|
||||
};
|
||||
|
||||
var sourceLogger = logger.WithSource("The_Source");
|
||||
sourceLogger.Info("MESSAGE", null, null);
|
||||
|
||||
Assert.AreEqual("The_Source", logMessage.Source);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user