Esempio n. 1
0
        public TemporaryNLogLogger(string filePath)
        {
            _originalNlogConfig = LogManager.Configuration;
            _originalTimeSource = TimeSource.Current;

            var fileTarget = new FileTarget();
            fileTarget.DeleteOldFileOnStartup = true;
            fileTarget.FileName = filePath;

            var config = new LoggingConfiguration();
            config.AddTarget("file", fileTarget);
            config.LoggingRules.Add(new LoggingRule("*", LogLevel.Debug, fileTarget));
            LogManager.Configuration = config;

            TimeSource.Current = new StaticNlogTimeSource();
        }
Esempio n. 2
0
        void TestTimeSource(TimeSource source, DateTime expected, DateTimeKind kind)
        {
            Assert.IsType(typeof(FastLocalTimeSource), TimeSource.Current);
            TimeSource.Current = source;
            Assert.Same(source, TimeSource.Current);
            var evt = new LogEventInfo(LogLevel.Info, "logger", "msg");
            Assert.Equal(kind, evt.TimeStamp.Kind);
            Assert.True((expected - evt.TimeStamp).Duration() < TimeSpan.FromSeconds(5));

            Assert.True((source.Time - source.FromSystemTime(DateTime.UtcNow)).Duration() < TimeSpan.FromSeconds(5));

            LogEventInfo evt2;
            do
            {
                evt2 = new LogEventInfo(LogLevel.Info, "logger", "msg");
            } while (evt.TimeStamp == evt2.TimeStamp);
            Assert.Equal(kind, evt2.TimeStamp.Kind);
            Assert.True(evt2.TimeStamp > evt.TimeStamp);
            Assert.True(evt2.TimeStamp - evt.TimeStamp <= TimeSpan.FromSeconds(1));
        }
Esempio n. 3
0
 void TestTimeSource(TimeSource source, DateTime expected, DateTimeKind kind)
 {
     Assert.IsInstanceOfType(typeof(FastLocalTimeSource), TimeSource.Current);
     TimeSource.Current = source;
     Assert.AreSame(source, TimeSource.Current);
     var evt = new LogEventInfo(LogLevel.Info, "logger", "msg");
     Assert.AreEqual(kind, evt.TimeStamp.Kind);
     Assert.IsTrue(expected.AddSeconds(-5) < evt.TimeStamp && evt.TimeStamp < expected.AddSeconds(5));
     LogEventInfo evt2;
     do
     {
         evt2 = new LogEventInfo(LogLevel.Info, "logger", "msg");
     } while (evt.TimeStamp == evt2.TimeStamp);
     Assert.AreEqual(kind, evt2.TimeStamp.Kind);
     Assert.IsTrue(evt2.TimeStamp > evt.TimeStamp);
     Assert.IsTrue(evt2.TimeStamp - evt.TimeStamp <= TimeSpan.FromSeconds(1));
 }