public void DiagnosticSource_WriteException() { // Arrange var logFactory = new LogFactory() { ThrowExceptions = true }; var logConfig = new LoggingConfiguration(logFactory); var logTarget = new DiagnosticListenerTarget() { Name = nameof(DiagnosticSource_WriteException) }; logConfig.AddRuleForAllLevels(logTarget); logFactory.Configuration = logConfig; var logger = logFactory.GetLogger("MyLogger"); using (var observer = new Observer(nameof(DiagnosticSource_WriteException))) using (var subscription = DiagnosticListener.AllListeners.Subscribe(observer)) { // Act logger.Error(new Exception("Boom!"), "Explosion"); // Assert Assert.Equal(logger.Name, observer.LastEvent.Key); Assert.Equal("Explosion", observer.GetLastEventProperty("Message")); Assert.Equal("System.Exception: Boom!", observer.GetLastEventProperty("Exception")?.ToString()); } }
public void DiagnosticSource_Shutdown() { // Arrange var logFactory = new LogFactory() { ThrowExceptions = true }; var logConfig = new LoggingConfiguration(logFactory); var logTarget = new DiagnosticListenerTarget() { Name = nameof(DiagnosticSource_Shutdown) }; logConfig.AddRuleForAllLevels(logTarget); logFactory.Configuration = logConfig; var logger = logFactory.GetLogger("MyLogger"); using (var observer = new Observer(nameof(DiagnosticSource_Shutdown))) using (var subscription = DiagnosticListener.AllListeners.Subscribe(observer)) { // Act logger.Info("Hello World"); logFactory.Dispose(); // Assert } }
public void DiagnosticSource_WriteMessage() { // Arrange var logFactory = new LogFactory() { ThrowExceptions = true }; var logConfig = new LoggingConfiguration(logFactory); var logTarget = new DiagnosticListenerTarget() { Name = nameof(DiagnosticSource_WriteMessage) }; logConfig.AddRuleForAllLevels(logTarget); logFactory.Configuration = logConfig; var logger = logFactory.GetLogger("MyLogger"); using (var observer = new Observer(nameof(DiagnosticSource_WriteMessage))) using (var subscription = DiagnosticListener.AllListeners.Subscribe(observer)) { // Act logger.Info("Hello World"); // Assert Assert.Equal(logger.Name, observer.LastEvent.Key); Assert.Equal("Hello World", observer.GetLastEventProperty("Message")); Assert.Null(observer.GetLastEventProperty("Exception")); } }