Ejemplo n.º 1
0
        public void CheckDefaultValues()
        {
            var filter = new BurstFilter();

            Assert.AreEqual(60, filter.BurstSize);
            Assert.AreEqual(TimeSpan.FromMinutes(1), filter.BurstLength);
        }
Ejemplo n.º 2
0
        public void ChangeValues()
        {
            var filter = new BurstFilter();

            filter.BurstLength = TimeSpan.FromMinutes(3);
            filter.BurstSize   = 4;
            Assert.AreEqual(4, filter.BurstSize);
            Assert.AreEqual(TimeSpan.FromMinutes(3), filter.BurstLength);
        }
Ejemplo n.º 3
0
        public void DenyWhenBufferIsFull()
        {
            var filter = new BurstFilter
            {
                BurstLength = TimeSpan.FromSeconds(bufferLengthSeconds),
                BurstSize   = 2,
            };
            var result1 = filter.Decide(GetLoggingEventWithOffset(0));

            Assert.AreEqual(log4net.Filter.FilterDecision.Neutral, result1);
            var result2 = filter.Decide(GetLoggingEventWithOffset(1));

            Assert.AreEqual(log4net.Filter.FilterDecision.Neutral, result2);
            var result3 = filter.Decide(GetLoggingEventWithOffset(2));

            Assert.AreEqual(log4net.Filter.FilterDecision.Deny, result3);
        }
Ejemplo n.º 4
0
        public void ContinueLoggingOnLongBursts()
        {
            var filter = new BurstFilter
            {
                BurstLength = TimeSpan.FromSeconds(bufferLengthSeconds),
                BurstSize   = 2,
            };
            var result1 = filter.Decide(GetLoggingEventWithOffset(0));

            Assert.AreEqual(log4net.Filter.FilterDecision.Neutral, result1);
            var result2 = filter.Decide(GetLoggingEventWithOffset(5));

            Assert.AreEqual(log4net.Filter.FilterDecision.Neutral, result2);
            for (var i = 6; i <= 9; i++)
            {
                var resultN = filter.Decide(GetLoggingEventWithOffset(i));
                Assert.AreEqual(log4net.Filter.FilterDecision.Deny, resultN);
            }

            // After 10 seconds the first slot should be cleared
            var result10 = filter.Decide(GetLoggingEventWithOffset(10));

            Assert.AreEqual(log4net.Filter.FilterDecision.Neutral, result10);
            // and once again full
            var result11 = filter.Decide(GetLoggingEventWithOffset(11));

            Assert.AreEqual(log4net.Filter.FilterDecision.Deny, result11);
            var result12 = filter.Decide(GetLoggingEventWithOffset(12));

            Assert.AreEqual(log4net.Filter.FilterDecision.Deny, result12);
            var result13 = filter.Decide(GetLoggingEventWithOffset(13));

            Assert.AreEqual(log4net.Filter.FilterDecision.Deny, result13);
            var result14 = filter.Decide(GetLoggingEventWithOffset(14));

            Assert.AreEqual(log4net.Filter.FilterDecision.Deny, result14);
            // And finally the event after 5 seconds is gone too
            var result15 = filter.Decide(GetLoggingEventWithOffset(15));

            Assert.AreEqual(log4net.Filter.FilterDecision.Neutral, result15);
        }