Esempio n. 1
0
        public void BadEntryLengthTest()
        {
            _fooLogger.Log(LogLevel.Info, FooMsgId.Foo1, long.MaxValue.ForLog());

            _data.AsSpan().Write((ushort)42); // EntryLength
            _stream.Seek(0, SeekOrigin.Begin);

            Assert.Throws <BinLogDecodingException>(() => _logDecoder.Decode(_stream).First());
        }
Esempio n. 2
0
        public void TracerMessagesTest()
        {
            const LogLevel lvl = LogLevel.Info;

            _logger.Log(lvl, FooMsgId.Foo);
            _logger.Log(lvl, FooMsgId.Foo1, 1.ForLog());
            _logger.Log(lvl, FooMsgId.Foo2, 1.ForLog(), 2.ForLog());
            _logger.Log(lvl, FooMsgId.Foo3, 1.ForLog(), 2.ForLog(), 3.ForLog());
            _logger.Log(lvl, FooMsgId.Foo4, 1.ForLog(), 2.ForLog(), 3.ForLog(), 4.ForLog());

            _stream.Seek(0, SeekOrigin.Begin);
            var messages = _decoder.Decode(_stream).Select(e => e.Message).ToArray();

            for (var i = 0; i < messages.Length; i++)
            {
                Assert.True(messages[i] == _tracer.Messages[i]);
            }
        }
Esempio n. 3
0
        public void NoArgsEncodeTest()
        {
            _fooLogger.Log(LogLevel.Info, FooMsgId.Foo);
            _barLogger.Log(LogLevel.Warning, BarMsgId.HelloWorld);

            _stream.Seek(0, SeekOrigin.Begin);
            var entries = _logDecoder.Decode(_stream).ToArray();

            Assert.True(entries[0].Channel == _fooDecoder.ChannelName);
            Assert.True(entries[1].Channel == _barDecoder.ChannelName);

            Assert.True(entries[0].LogLevel == LogLevel.Info);
            Assert.True(entries[1].LogLevel == LogLevel.Warning);

            Assert.True(entries[0].Message == _fooDecoder.DecodeMessage(FooMsgId.Foo));
            Assert.True(entries[1].Message == _barDecoder.DecodeMessage(BarMsgId.HelloWorld));

            Assert.True(entries[0].DateTimeUtc <= entries[1].DateTimeUtc);
        }