Example #1
0
        public void WhenOwnedByPrimaryLoggerSecondaryIsDisposed()
        {
            var secondary = new DisposeTrackingSink();

            ((IDisposable) new LoggerConfiguration()
             .WriteTo.Logger(lc => lc.WriteTo.Sink(secondary))
             .CreateLogger()).Dispose();

            Assert.True(secondary.IsDisposed);
        }
Example #2
0
        public void SinkIsDisposedWhenLoggerDisposed()
        {
            var tracker = new DisposeTrackingSink();
            var logger  = new LoggerConfiguration()
                          .AuditTo.Sink(tracker)
                          .CreateLogger();

            logger.Dispose();

            Assert.True(tracker.IsDisposed);
        }
        public void WithMapSizeZeroSinksAreImmediatelyDisposed()
        {
            var a = Some.LogEvent("Hello, {Name}!", "Alice");

            var sink = new DisposeTrackingSink();
            var log  = new LoggerConfiguration()
                       .WriteTo.Map("Name", (name, wt) => wt.Sink(sink), sinkMapCountLimit: 0)
                       .CreateLogger();

            log.Write(a);

            Assert.True(sink.IsDisposed);
        }
        public void WithNoMapSizeLimitSinksAreNotDisposed()
        {
            var a = Some.LogEvent("Hello, {Name}!", "Alice");

            var sink = new DisposeTrackingSink();
            var log  = new LoggerConfiguration()
                       .WriteTo.Map("Name", (name, wt) => wt.Sink(sink))
                       .CreateLogger();

            log.Write(a);

            Assert.False(sink.IsDisposed);
        }
Example #5
0
        public void WhenOwnedByCallerSecondaryLoggerIsNotDisposed()
        {
            var secondary       = new DisposeTrackingSink();
            var secondaryLogger = new LoggerConfiguration()
                                  .WriteTo.Sink(secondary)
                                  .CreateLogger();

            ((IDisposable) new LoggerConfiguration()
             .WriteTo.Logger(secondaryLogger)
             .CreateLogger()).Dispose();

            Assert.False(secondary.IsDisposed);
        }
        public void WhenSinkMapOverflowsUnmappedSinksAreDisposed()
        {
            var a = Some.LogEvent("Hello, {Name}!", "Alice");
            var b = Some.LogEvent("Hello, {Name}!", "Bob");

            var sinkA = new DisposeTrackingSink();
            var sinkB = new DisposeTrackingSink();
            var log   = new LoggerConfiguration()
                        .WriteTo.Map("Name", (name, wt) => wt.Sink(name == "Alice" ? sinkA : sinkB), sinkMapCountLimit: 1)
                        .CreateLogger();

            log.Write(a);
            log.Write(b);

            Assert.True(sinkA.IsDisposed);
            Assert.False(sinkB.IsDisposed);
        }