Beispiel #1
0
        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());
                }
        }
Beispiel #2
0
        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
                }
        }
Beispiel #3
0
        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"));
                }
        }