Exemple #1
0
        public void ShouldLogWithMultipleLoggersAtDifferentLevels()
        {
            var logger1 = NewLogger();

            logger1.Level = LevelToLog.Debug;

            var logger2 = NewLogger();

            logger2.Level = LevelToLog.Info;

            var logger = new DistributedLogger(new ILogger[] { logger1, logger2 });

            // Returns false
            var shouldLog = logger.ShouldLog(new LogMessage(LevelToLog.Trace, "a"));

            Assert.IsFalse(shouldLog);

            // Returns true because logger1 will accept this message
            shouldLog = logger.ShouldLog(new LogMessage(LevelToLog.Debug, "b"));
            Assert.IsTrue(shouldLog);

            // Returns true because both loggers will accept this message
            shouldLog = logger.ShouldLog(new LogMessage(LevelToLog.Info, "c"));
            Assert.IsTrue(shouldLog);
        }
Exemple #2
0
        public void LogWithMultipleLoggersAtDifferentLevels()
        {
            var logger1 = NewLogger();

            logger1.Level = LevelToLog.Debug;

            var logger2 = NewLogger();

            logger2.Level = LevelToLog.Info;

            var logger = new DistributedLogger(new ILogger[] { logger1, logger2 });

            // This message should not be logged by either logger
            var messageToLog = new LogMessage(LevelToLog.Trace, "a");

            logger.Log(messageToLog);

            // This message should only be logged by loger1
            messageToLog = new LogMessage(LevelToLog.Debug, "b");
            logger.Log(messageToLog);

            // This message should be logged by both loggers
            messageToLog = new LogMessage(LevelToLog.Info, "c");
            logger.Log(messageToLog);
        }
Exemple #3
0
        public void LevelWithMultipleLoggersWithDifferentLevels()
        {
            var logger1 = NewLogger();

            logger1.Level = LevelToLog.Debug;

            var logger2 = NewLogger();

            logger2.Level = LevelToLog.Warn;

            var logger = new DistributedLogger(new ILogger[] { logger1, logger2 });

            // The level is the lowest of the two log levels, in this case LevelToLog.Debug
            var level = logger.Level;

            Assert.AreEqual(LevelToLog.Debug, level);
        }
        public static void SetsDistributedLoggers()
        {
            // arrange
            var msbuild = new Derived();
            var logger1 = new DistributedLogger(
                new Logger("C1.dll") { LoggerClass = "C1.Foo", LoggerParameters = "C1Bar;C1Baz" },
                new Logger("F1.dll"));

            var logger2 = new DistributedLogger(
                new Logger("C2.dll") { LoggerClass = "C2.Foo" },
                new Logger("F2.dll") { LoggerParameters = "F2Bar;F2Baz" });

            msbuild.DistributedLoggers.Add(logger1);
            msbuild.DistributedLoggers.Add(logger2);

            var expectedArgs =
                "/distributedlogger:C1.Foo,C1.dll;C1Bar;C1Baz*F1.dll " +
                "/distributedlogger:C2.Foo,C2.dll*F2.dll;F2Bar;F2Baz";

            // act
            var startInfo = msbuild.GetStartInfoPublic();

            // assert
            startInfo.Arguments.Should().Be(expectedArgs);
        }