コード例 #1
0
        public void CanReverseDuckTypeILogger()
        {
            var logger = new DirectSubmissionLogger("Test logger", null, _sink, _formatter, DirectSubmissionLogLevel.Debug);
            var proxy  = (Microsoft.Extensions.Logging.ILogger)logger.DuckImplement(typeof(Microsoft.Extensions.Logging.ILogger));

            proxy.BeginScope(123).Should().NotBeNull();
            proxy.IsEnabled(LogLevel.Error).Should().BeTrue();
            proxy.Log(LogLevel.Error, "This is my message with a {Parameter}", 123);
        }
コード例 #2
0
        public void ShouldNotEmitLogWhenNotEnabled()
        {
            var sink      = new TestSink();
            var formatter = LogSettingsHelper.GetFormatter();
            var logger    = new DirectSubmissionLogger(
                name: "TestLogger",
                scopeProvider: new NullScopeProvider(),
                sink: sink,
                logFormatter: formatter,
                minimumLogLevel: DirectSubmissionLogLevel.Information);

            var level = (int)DirectSubmissionLogLevel.Debug;

            logger.IsEnabled(level).Should().BeFalse();
            logger.Log(
                logLevel: level,
                eventId: 123,
                state: "someValue",
                exception: null,
                (s, ex) => $"This is {s}");

            sink.Events.Should().BeEmpty();
        }