public void Dispose_TraceListenerIsFlushedOnce()
        {
            // Arrange
            var testSwitch = new SourceSwitch("TestSwitch", "Level will be set to warning for this test");

            testSwitch.Level = SourceLevels.Warning;
            var listener = new BufferedConsoleTraceListener();

            TraceSourceLoggerProvider provider = new TraceSourceLoggerProvider(testSwitch, listener);
            var logger1 = provider.CreateLogger("FirstLogger");
            var logger2 = provider.CreateLogger("SecondLogger");

            logger1.LogError("message1");
            logger2.LogError("message2");

            // Act
            provider.Dispose();

            // Assert
            Assert.Equal(1, listener.FlushCount);
            Assert.Equal(new []
            {
                "FirstLogger Error: 0 : ",
                "message1" + Environment.NewLine,
                "SecondLogger Error: 0 : ",
                "message2" + Environment.NewLine
            }, listener.Messages);
        }
Esempio n. 2
0
        public static ILogger CreateTraceLogger <T>()
        {
#if NETFRAMEWORK
            var trace        = new TraceSource("Egelke.EHealth.Client");
            var traceLogProv = new TraceSourceLoggerProvider(trace.Switch);
            return(traceLogProv.CreateLogger(typeof(T).FullName));
#else
            return(null);
#endif
        }