public void CanWrite() { // Arrange var loggerMock = new Mock <ILogger>(); Message loggedMessage = null; loggerMock.Setup(x => x.Log(It.IsAny <Message>())).Callback <Message>(msg => loggedMessage = msg); var target = new ElmahIoTarget(loggerMock.Object); var config = new LoggingConfiguration(); config.AddTarget("elmah.io", target); var rule = new LoggingRule("*", LogLevel.Info, target); config.LoggingRules.Add(rule); LogManager.Configuration = config; var logger = LogManager.GetLogger("Test"); // Act var logEventInfo = new LogEventInfo(LogLevel.Warn, "", "Warning"); logEventInfo.Properties.Add("Key", "Value"); logger.Log(logEventInfo); // Assert Assert.That(loggedMessage, Is.Not.Null); Assert.That(loggedMessage.Severity, Is.EqualTo(Severity.Warning)); Assert.That(loggedMessage.Title, Is.StringContaining("Warning")); Assert.That(loggedMessage.Data.Count, Is.EqualTo(1)); Assert.That(loggedMessage.Data.First().Key, Is.EqualTo("Key")); Assert.That(loggedMessage.Data.First().Value, Is.EqualTo("Value")); }
public void CanWrite() { // Arrange var clientMock = new Mock <IElmahioAPI>(); var messagesMock = new Mock <IMessages>(); clientMock.Setup(x => x.Messages).Returns(messagesMock.Object); CreateMessage loggedMessage = null; messagesMock .Setup(x => x.CreateAndNotify(It.IsAny <Guid>(), It.IsAny <CreateMessage>())) .Callback <Guid, CreateMessage>((logId, msg) => { loggedMessage = msg; }); var target = new ElmahIoTarget(clientMock.Object) { ApiKey = "ApiKey", LogId = Guid.NewGuid().ToString() }; var config = new LoggingConfiguration(); config.AddTarget("elmah.io", target); var rule = new LoggingRule("*", LogLevel.Info, target); config.LoggingRules.Add(rule); LogManager.Configuration = config; var logger = LogManager.GetLogger("Test"); // Act var logEventInfo = new LogEventInfo(LogLevel.Warn, "", "Warning"); logEventInfo.Properties.Add("Key", "Value"); logger.Log(logEventInfo); // Assert Assert.That(loggedMessage, Is.Not.Null); Assert.That(loggedMessage.Severity, Is.EqualTo(Severity.Warning.ToString())); Assert.That(loggedMessage.Title, Does.Contain("Warning")); Assert.That(loggedMessage.Data.Count, Is.EqualTo(1)); Assert.That(loggedMessage.Data.First().Key, Is.EqualTo("Key")); Assert.That(loggedMessage.Data.First().Value, Is.EqualTo("Value")); }
public void SetUp() { clientMock = new Mock <IElmahioAPI>(); messagesMock = new Mock <IMessages>(); clientMock.Setup(x => x.Messages).Returns(messagesMock.Object); var target = new ElmahIoTarget(clientMock.Object) { ApiKey = "ApiKey", LogId = Guid.NewGuid().ToString(), Layout = "${longdate}|${level:uppercase=true}|${logger}|${message}", }; var config = new LoggingConfiguration(); config.AddTarget("elmah.io", target); var rule = new LoggingRule("*", LogLevel.Info, target); config.LoggingRules.Add(rule); LogManager.Configuration = config; logger = LogManager.GetLogger("Test"); }