コード例 #1
0
        public void Processor_MissingCategory_FiltersAsDefault(LogLevel telemetryLevel, bool isEnabled)
        {
            var filter = new LoggerFilterOptions
            {
                MinLevel = LogLevel.Information
            };

            var processor = new FilteringTelemetryProcessor(filter, _nextTelemetryProcessorMock.Object);

            var telemetry = new TestTelemetry();

            telemetry.Properties[LogConstants.LogLevelKey] = telemetryLevel.ToString();
            // no category specified

            processor.Process(telemetry);

            if (isEnabled)
            {
                _nextTelemetryProcessorMock.Verify(m => m.Process(telemetry), Times.Once);
            }
            else
            {
                _nextTelemetryProcessorMock.Verify(m => m.Process(It.IsAny <ITelemetry>()), Times.Never);
            }
        }
コード例 #2
0
        public void Processor_UsesFilter(LogLevel defaultLevel, LogLevel categoryLevel, LogLevel telemetryLevel, bool isEnabled)
        {
            var filter = new LoggerFilterOptions
            {
                MinLevel = defaultLevel
            };

            filter.AddFilter(LogCategories.Results, categoryLevel);

            var processor = new FilteringTelemetryProcessor(filter, _nextTelemetryProcessorMock.Object);

            var telemetry = new TestTelemetry();

            telemetry.Properties[LogConstants.CategoryNameKey] = LogCategories.Results;
            telemetry.Properties[LogConstants.LogLevelKey]     = telemetryLevel.ToString();

            processor.Process(telemetry);

            if (isEnabled)
            {
                _nextTelemetryProcessorMock.Verify(m => m.Process(telemetry), Times.Once);
            }
            else
            {
                _nextTelemetryProcessorMock.Verify(m => m.Process(It.IsAny <ITelemetry>()), Times.Never);
            }
        }
コード例 #3
0
        public void Processor_No_ISupportProperties_DoesNotFilter()
        {
            var filter = new LoggerFilterOptions();

            var processor = new FilteringTelemetryProcessor(filter, _nextTelemetryProcessorMock.Object);

            var telemetry = new Mock <ITelemetry>(MockBehavior.Strict);

            processor.Process(telemetry.Object);
            _nextTelemetryProcessorMock.Verify(m => m.Process(telemetry.Object), Times.Once);
        }
コード例 #4
0
        public void Processor_InvalidLogLevel_DoesNotFilter()
        {
            // If no valid loglevel, we're not sure what to do, so just let it through
            var filter = new LoggerFilterOptions
            {
                MinLevel = LogLevel.Information
            };

            var processor = new FilteringTelemetryProcessor(filter, _nextTelemetryProcessorMock.Object);

            var telemetry = new TestTelemetry();

            telemetry.Properties[LogConstants.CategoryNameKey] = LogCategories.Results;
            telemetry.Properties[LogConstants.LogLevelKey]     = "InvalidLevel";

            processor.Process(telemetry);
            _nextTelemetryProcessorMock.Verify(m => m.Process(telemetry), Times.Once);
        }
コード例 #5
0
        public void Processor_MissingLogLevel_DoesNotFilter()
        {
            // If no loglevel, we're not sure what to do, so just let it through
            var filter = new LogCategoryFilter
            {
                DefaultLevel = LogLevel.Information
            };

            var processor = new FilteringTelemetryProcessor(filter.Filter, _nextTelemetryProcessorMock.Object);

            var telemetry = new TestTelemetry();

            telemetry.Properties[LogConstants.CategoryNameKey] = LogCategories.Results;
            // no log level specified

            processor.Process(telemetry);
            _nextTelemetryProcessorMock.Verify(m => m.Process(telemetry), Times.Once);
        }