コード例 #1
0
        public void SetWaitForMoreRoutablesForwardingDelay_Should_SetProperty()
        {
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            LogfileConfigurationBuilderExtensions.SetWaitForMoreRoutablesForwardingDelay <StandardLoglevel>(builder, TimeSpan.FromMilliseconds(1));
            builder.WaitForMoreRoutablesForwardingDelay.Should().Be(TimeSpan.FromMilliseconds(1));
        }
コード例 #2
0
        public void EnableDeveloperModeForDebugCompilerFlag_Should_EnableDeveloperMode()
        {
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            LogfileConfigurationBuilderExtensions.EnableDeveloperModeForDebugCompilerFlag <StandardLoglevel>(builder);
            builder.IsDeveloperModeEnabled.Should().BeTrue();
        }
コード例 #3
0
        public void SetMaximumRoutablesForwardingCount_Should_SetProperty()
        {
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            LogfileConfigurationBuilderExtensions.SetMaximumRoutablesForwardingCount <StandardLoglevel>(builder, 1);
            builder.MaximumRoutablesForwardingCount.Should().Be(1);
        }
コード例 #4
0
        public void SetMaximumRoutableQueueLength_Should_SetProperty()
        {
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            LogfileConfigurationBuilderExtensions.SetMaximumRoutableQueueLength <StandardLoglevel>(builder, 1);
            builder.MaximumRoutableQueueLength.Should().Be(1);
        }
コード例 #5
0
        public void AddRouter_Should_AddRouter()
        {
            var router  = new TestRouter <LogEvent <StandardLoglevel> >();
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            LogfileConfigurationBuilderExtensions.AddRouter(builder, router);
            builder.Routers.Single().Should().BeSameAs(router);
        }
コード例 #6
0
        public void BlockLoglevelSingle_Should_AddLoglevel()
        {
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            LogfileConfigurationBuilderExtensions.BlockLoglevel <StandardLoglevel>(builder, StandardLoglevel.Warning);
            builder.BlockLoglevels.Count.Should().Be(1);
            builder.BlockLoglevels.Should().Contain(StandardLoglevel.Warning);
        }
コード例 #7
0
        public void AddPreprocessor_Should_Succeed()
        {
            var preprocessor1 = Mock.Of <IRoutablePreprocessor <LogEvent <StandardLoglevel> > >();
            var builder       = new LogfileConfigurationBuilder <StandardLoglevel>();

            LogfileConfigurationBuilderExtensions.AddPreprocessor <StandardLoglevel>(builder, preprocessor1);
            builder.Preprocessors.Should().Contain(preprocessor1);
        }
コード例 #8
0
        public void BlockLoglevelsFromToInverted_Should_AddLoglevel()
        {
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            LogfileConfigurationBuilderExtensions.BlockLoglevels <StandardLoglevel>(builder, StandardLoglevel.Warning, StandardLoglevel.Error);
            builder.BlockLoglevels.Count.Should().Be(2);
            builder.BlockLoglevels.Should().Contain(StandardLoglevel.Warning);
            builder.BlockLoglevels.Should().Contain(StandardLoglevel.Error);
        }
コード例 #9
0
        public void UseLogEventsFromExceptionData_Should_AddPreprocessor()
        {
            // Arrange
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            // Act
            LogfileConfigurationBuilderExtensions.UseLogEventsFromExceptionData <StandardLoglevel>(builder);

            // Assert
            builder.Preprocessors.OfType <ExtractLogEventsFromExceptions <StandardLoglevel> >().Count().Should().Be(1);
        }
コード例 #10
0
        public void Constructor_Should_SetProperties()
        {
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            builder.Routers.Should().NotBeNull();
            builder.Preprocessors.Should().NotBeNull();
            builder.MaximumRoutableQueueLength.Should().NotBe(0);
            builder.MaximumRoutablesForwardingCount.Should().NotBe(0);
            builder.WaitForMoreRoutablesForwardingDelay.Should().NotBe(TimeSpan.Zero);
            builder.AllowLoglevels.Should().BeEmpty();
            builder.BlockLoglevels.Should().BeEmpty();
        }
コード例 #11
0
        public void BuildWithAllowedAndBlockedLoglevels_Should_CreatePreprocessor()
        {
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            builder.AllowLoglevels.Add(StandardLoglevel.Warning);
            builder.AllowLoglevels.Add(StandardLoglevel.Error);
            builder.AllowLoglevels.Add(StandardLoglevel.Critical);
            builder.BlockLoglevels.Add(StandardLoglevel.Error);

            var logfileConfiguration = builder.Build();

            var loglevelFilter = (LoglevelFilter <StandardLoglevel>)logfileConfiguration.Preprocessors.Single();

            loglevelFilter.Process(new LogEvent <StandardLoglevel>((_logEvent) => { }, StandardLoglevel.Warning)).Should().BeNull();
            loglevelFilter.Process(new LogEvent <StandardLoglevel>((_logEvent) => { }, StandardLoglevel.Error)).Should().BeEmpty();
        }
コード例 #12
0
        public async Task AddLogEvent_Should_LogThisLogEventAutomaticallyAfterTheLogEventContainingTheExceptionDetails()
        {
            // Arrange
            var logfileConfigurationBuilder = new LogfileConfigurationBuilder <StandardLoglevel>();

            logfileConfigurationBuilder
            .AddPreprocessor(ExtractLogEventsFromExceptions <StandardLoglevel> .Instance);

            var logfile = new Logfile <StandardLoglevel>();
            await logfile.ReconfigureAsync(logfileConfigurationBuilder.Build(), default);

            var exception = new InvalidOperationException();

            // Act
            var logEvent = ExceptionDataExtensions.AddLogEvent(
                exception,
                StandardLoglevel.Warning);

            // Assert
            exception.Data[typeof(LogEvent <StandardLoglevel>)].Should().BeSameAs(logEvent);
        }
コード例 #13
0
        public void Build_Should_CreateHubConfiguration()
        {
            var router1       = new TestRouter <LogEvent <StandardLoglevel> >();
            var preprocessor1 = new TestPreprocessor();
            var builder       = new LogfileConfigurationBuilder <StandardLoglevel>();

            builder.AllowLoglevels.Add(StandardLoglevel.Warning);
            builder.BlockLoglevels.Add(StandardLoglevel.Error);
            builder.Routers.Add(router1);
            builder.Preprocessors.Add(preprocessor1);
            builder.MaximumRoutableQueueLength          = 1;
            builder.MaximumRoutablesForwardingCount     = 2;
            builder.WaitForMoreRoutablesForwardingDelay = TimeSpan.FromMilliseconds(3);

            var logfileConfiguration = builder.Build();

            logfileConfiguration.Routers.Should().Contain(router1);
            logfileConfiguration.Preprocessors.Should().Contain(preprocessor1);
            logfileConfiguration.MaximumRoutablesQueueLength.Should().Be(1);
            logfileConfiguration.MaximumRoutablesForwardingCount.Should().Be(2);
            logfileConfiguration.WaitForMoreRoutablesForwardingDelay.Should().Be(TimeSpan.FromMilliseconds(3));
            logfileConfiguration.Preprocessors.OfType <LoglevelFilter <StandardLoglevel> >().Single();
        }
コード例 #14
0
        public void AddRouterNull_ShouldThrow_ArgumentNullException()
        {
            var builder = new LogfileConfigurationBuilder <StandardLoglevel>();

            Assert.Throws <ArgumentNullException>(() => LogfileConfigurationBuilderExtensions.AddRouter(builder, null));
        }