Ejemplo n.º 1
0
        public void ConfigureLogger()
        {
            var formatter = new MessageTemplateTextFormatter("${date} [${threadid}] ${level} ${logger} ${ndc} - ${message}${newline}", null);

            var channelFactory = Substitute.For<ChannelFactory>();
            _channel = Substitute.For<IEventChannel>();
            channelFactory.Create("localhost", 8765, 1).Returns(_channel);
            _sink = new BrowserConsoleSink(true, 8765, 1, formatter,false, channelFactory);
        }
Ejemplo n.º 2
0
        public void Should_have_no_side_effect_if_active_flag_set_to_false()
        {
            // given
            var channelFactory = Substitute.For<ChannelFactory>();
            _channel = Substitute.For<IEventChannel>();
            channelFactory.Create(Arg.Any<string>(), 8765, 1).Returns(_channel);
            var messageTemplateTextFormatter = Substitute.For<MessageTemplateTextFormatter>(BrowserConsoleLoggerConfigurationExtensions.DefaultOutputTemplate, null);
            var sink = new BrowserConsoleSink(false, 8765, 1, messageTemplateTextFormatter, false, channelFactory);

            var logEvent = new LogEvent(new DateTimeOffset(new DateTime(2010, 10, 12)), LogEventLevel.Information, new Exception("test"), GenerateMessageTemplate("Useless text"), new List<LogEventProperty>());

            // when
            sink.Emit(logEvent);

            // then
            messageTemplateTextFormatter.DidNotReceiveWithAnyArgs().Format(logEvent, new StringWriter());
        }
Ejemplo n.º 3
0
        public void Should_send_an_sse_message_when_receiving_a_logging_event()
        {
            // given
            var channelFactory = Substitute.For<ChannelFactory>();
            _channel = Substitute.For<IEventChannel>();
            channelFactory.Create(Arg.Any<string>(), 8765, 1).Returns(_channel);
            var messageTemplateTextFormatter = new MessageTemplateTextFormatter(BrowserConsoleLoggerConfigurationExtensions.DefaultOutputTemplate, null);
            var sink = new BrowserConsoleSink(true, 8765, 1, messageTemplateTextFormatter, false, channelFactory);

            var logEvent = new LogEvent(
                new DateTimeOffset(new DateTime(2010, 10, 12)),
                LogEventLevel.Information,
                null,
                GenerateMessageTemplate("Everything's fine with Serilog"),
                new List<LogEventProperty>() { new LogEventProperty("test", new ScalarValue("value"))});

            // when
            sink.Emit(logEvent);

            // then
            _channel.Received().Send(Arg.Is<ServerSentEvent>(evt => evt.ToString().Contains("Everything's fine with Serilog")), Arg.Any<CancellationToken>());
        }
Ejemplo n.º 4
0
        public void Should_dispose_channel_on_shutdown()
        {
            // given
            var channelFactory = Substitute.For<ChannelFactory>();
            _channel = Substitute.For<IEventChannel>();
            channelFactory.Create(Arg.Any<string>(), 8765, 1).Returns(_channel);
            var sink = new BrowserConsoleSink(true, 8765, 1, null, false, channelFactory);

            //When
            sink.Dispose();

            // then
            _channel.Received().Dispose();
        }
Ejemplo n.º 5
0
        public void Should_send_a_multiline_sse_message_received_logging_event_for_an_exception()
        {
            // given
            var channelFactory = Substitute.For<ChannelFactory>();
            _channel = Substitute.For<IEventChannel>();
            channelFactory.Create(Arg.Any<string>(), 8765, 1).Returns(_channel);
            var messageTemplateTextFormatter = new MessageTemplateTextFormatter(BrowserConsoleLoggerConfigurationExtensions.DefaultOutputTemplate, null);
            var sink = new BrowserConsoleSink(true, 8765, 1, messageTemplateTextFormatter, false, channelFactory);

            var logEvent = new LogEvent(
                new DateTimeOffset(new DateTime(2010, 10, 12)),
                LogEventLevel.Fatal,
                new Exception("Message of the exception"), 
                GenerateMessageTemplate("Displaying of an exception"),
                new List<LogEventProperty>() { new LogEventProperty("test", new ScalarValue("value")) });

            // when
            sink.Emit(logEvent);

            // then
            var lineSeparator = new string[] { "\r\n" };
            _channel.Received().Send(
                Arg.Is<ServerSentEvent>(
                    evt => evt.ToString()
                        .Split(lineSeparator, StringSplitOptions.RemoveEmptyEntries)
                        .Skip(1)
                        .All(l => l.StartsWith("data:"))
                    ), Arg.Any<CancellationToken>());
        }