Example #1
0
        private static void Main()
        {
            Logger.LogLevel = LoggingSettings.Settings.Level;

            var rootDir = LoggingSettings.Settings.DirPath;

            if (string.IsNullOrWhiteSpace(rootDir))
            {
                rootDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            }

            var logEncoder = new XmlLogEncoder();

            var byteWriter = new LazyStreamByteWriter(() => FileStreamFactory.CreateFileStream(
                                                          Path.Combine(rootDir, Resources.SubdirectoryName)));

            Logger.AddLogWriter(new Lazy <ILogWriter>(() => new LogWriter(logEncoder, byteWriter)));

            // LogMsg message 1
            Logger.Log(LogLevel.Error, "id-str1");

            const string param = "param-str";

            // LogMsg message 2
            Logger.Log(LogLevel.Error, "id-str2", param, null);

            Fn();
        }
        public void WriteBytes_writes_then_flushes_stream()
        {
            var stream = Substitute.For<Stream>();
              var lazyStreamByteWriter = new LazyStreamByteWriter(() => stream);

              var bytes = new byte[] {1, 2, 3};
              lazyStreamByteWriter.WriteBytes(bytes);

              stream.Received(1).Write(bytes, 0, bytes.Length);
              stream.Received(1).Flush();
        }
Example #3
0
        public void WriteBytes_does_not_create_stream_if_passed_empty_bytes()
        {
            const int createCalls = 0;

            var lazyStreamByteWriter = new LazyStreamByteWriter(delegate { throw new NotImplementedException(); });

            Assert.AreEqual(0, createCalls);

            lazyStreamByteWriter.WriteBytes(new byte[0]);

            Assert.AreEqual(0, createCalls);
        }
Example #4
0
        public void WriteBytes_writes_then_flushes_stream()
        {
            var stream = Substitute.For <Stream>();
            var lazyStreamByteWriter = new LazyStreamByteWriter(() => stream);

            var bytes = new byte[] { 1, 2, 3 };

            lazyStreamByteWriter.WriteBytes(bytes);

            stream.Received(1).Write(bytes, 0, bytes.Length);
            stream.Received(1).Flush();
        }
        public void WriteBytes_does_not_create_stream_if_passed_null_bytes()
        {
            const int createCalls = 0;

              var lazyStreamByteWriter = new LazyStreamByteWriter(delegate { throw new NotImplementedException(); });

              Assert.AreEqual(0, createCalls);

              lazyStreamByteWriter.WriteBytes(null);

              Assert.AreEqual(0, createCalls);
        }
Example #6
0
        public void WriteBytes_causes_stream_to_be_created_but_only_on_first_call()
        {
            var createCalls = 0;

            var lazyStreamByteWriter = new LazyStreamByteWriter(delegate
            {
                ++createCalls;
                return(null);
            });

            Assert.AreEqual(0, createCalls);

            lazyStreamByteWriter.WriteBytes(new byte[] { 1 });

            Assert.AreEqual(1, createCalls);

            lazyStreamByteWriter.WriteBytes(new byte[] { 1 });

            // Second call doesn't attempt to create stream
            Assert.AreEqual(1, createCalls);
        }
        public void WriteBytes_causes_stream_to_be_created_but_only_on_first_call()
        {
            var createCalls = 0;

              var lazyStreamByteWriter = new LazyStreamByteWriter(delegate
              {
            ++createCalls;
            return null;
              });

              Assert.AreEqual(0, createCalls);

              lazyStreamByteWriter.WriteBytes(new byte[] {1});

              Assert.AreEqual(1, createCalls);

              lazyStreamByteWriter.WriteBytes(new byte[] {1});

              // Second call doesn't attempt to create stream
              Assert.AreEqual(1, createCalls);
        }