示例#1
0
 public static LoggerContainer GetInstance()
 {
     if (instance is null)
     {
         instance = new Primitive.LoggerContainer();
     }
     return(instance);
 }
 public void Warning_Message_CallsLogger()
 {
     var subLogger = new Mock<ILogger>();
     subLogger.Setup(foo => foo.Warning("Test Message"));
     var objectUnderTest = new LoggerContainer();
     objectUnderTest.Loggers.Add(subLogger.Object);
     objectUnderTest.Warning("Test Message");
     subLogger.VerifyAll();
 }
示例#3
0
        public void SetLevelForAllTest()
        {
            string          cat1 = "cat1";
            string          cat2 = "cat2";
            LoggerContainer lc   =
                testContainer
                .Resolve <LoggerContainer>();
            var logger1 = lc.GetLogger(cat1) as LoggerMock;
            var logger2 = lc.GetLogger(cat2) as LoggerMock;

            lc.SetLevelForAll(LogLevel.Debug);
            Assert.AreEqual(LogLevel.Debug, logger1.level);
            Assert.AreEqual(LogLevel.Debug, logger2.level);
        }
示例#4
0
        public void SetOneLevelTest()
        {
            string          cat1 = "cat1";
            string          cat2 = "cat2";
            LoggerContainer lc   =
                testContainer
                .Resolve <LoggerContainer>();
            var logger1 = lc.GetLogger(cat1) as LoggerMock;
            var logger2 = lc.GetLogger(cat2) as LoggerMock;

            lc.SetOneLevel(cat1, LogLevel.Debug, true);
            Assert.AreEqual(LogLevel.Debug, logger1.level);
            Assert.IsTrue(logger1.levelValue);
            Assert.AreNotEqual(LogLevel.Debug, logger2.level);
            Assert.IsFalse(logger2.levelValue);
        }
示例#5
0
        IEnumerator <bool> SetSubProcessStepCycle()
        {
            var loggerContainer = new LoggerContainer(this);

            while (true)
            {
                yield return(SubProcessCheckRemainingBatteryCapacity(loggerContainer.GetLog(0)));

                loggerContainer.Print();
                yield return(SubProcessActivateEmergencyPower(loggerContainer.GetLog(1)));

                loggerContainer.Print();
                yield return(SubProcessSendBroadcastMessage());

                loggerContainer.Print();
            }
        }
示例#6
0
        public void GetLoggerTest()
        {
            string          cat1 = "cat1";
            string          cat2 = "cat2";
            LoggerContainer lc   =
                testContainer
                .Resolve <LoggerContainer>();
            var logger1 = lc.GetLogger(cat1);
            var logger2 = lc.GetLogger(cat2);
            var logger3 = lc.GetLogger(cat1);

            Assert.IsNotNull(logger1);
            Assert.IsNotNull(logger2);
            Assert.IsNotNull(logger3);
            Assert.AreEqual(logger1, logger3);
            Assert.AreEqual(cat1, ((LoggerMock)logger1).category);
            Assert.AreNotEqual(logger1, logger2);
            var logger = logger1 as LoggerMock;

            Assert.IsNotNull(logger);
            Assert.AreEqual(cat1, logger.category);
        }
 public void Info_LoggerWithException_Continues()
 {
     var subLogger1 = new Mock<ILogger>();
     subLogger1.Setup(foo => foo.Info("Test Message"));
     var subLogger2 = new Mock<ILogger>();
     subLogger2.Setup(foo => foo.Info("Test Message")).Throws(new Exception());
     var subLogger3 = new Mock<ILogger>();
     subLogger3.Setup(foo => foo.Info("Test Message"));
     var objectUnderTest = new LoggerContainer();
     objectUnderTest.Loggers.Add(subLogger1.Object);
     objectUnderTest.Loggers.Add(subLogger2.Object);
     objectUnderTest.Loggers.Add(subLogger3.Object);
     objectUnderTest.Info("Test Message");
     subLogger1.VerifyAll();
     subLogger2.VerifyAll();
     subLogger3.VerifyAll();
 }
 public void ClassContainsCommandsCollection()
 {
     var objectUnderTest = new LoggerContainer();
     Assert.IsNotNull(objectUnderTest.Loggers);
 }
示例#9
0
        static void InitBody()
        {
            if (options == null)
            {
                options = new Options("", "Log");
            }
            LogDefaultOptions.AddDefaultOptions(options);
            LogLevel.SetLevel(LogLevel.Always, options[LogDefaultOptions.AlwaysOption]);
            LogLevel.SetLevel(LogLevel.Fatal,options[LogDefaultOptions.FatalOption]);
            LogLevel.SetLevel(LogLevel.Error,options[LogDefaultOptions.ErrorOption]);
            LogLevel.SetLevel(LogLevel.Warning,options[LogDefaultOptions.WarningOption]);
            LogLevel.SetLevel(LogLevel.Info,options[LogDefaultOptions.InfoOption]);
            LogLevel.SetLevel(LogLevel.Event,options[LogDefaultOptions.EventOption]);
            LogLevel.SetLevel(LogLevel.Debug,options[LogDefaultOptions.DebugOption]);
            LogLevel.SetLevel(LogLevel.All, options[LogDefaultOptions.AllOption]);
            LogLevel.SetDefault(options["LogLevel"]);

            if (collector != null)
            {
                collector.ShutDown();
            }
            collector = new LogCollector(new ConcurrentQueued<LogItem>(new PoolThreadStarter()),
                new LogWriterFactory(options).GetWriter());

            if (container == null)
            {
                container = new LoggerContainer(category => new CheckingLogger(category, collector.Send, LogLevel.Default));
            }
            else
            {
                container.SetSender(collector.Send);
            }
            container.DefaultCategory = options.Get("LogDefaultCategory", "Default");
            init = true;
        }