Beispiel #1
0
        public void DoAppend_AppenderDisabled_MessagesNotForwardedToMessageWindow(LogLevelConstant logLevel)
        {
            // Setup
            Level        level    = logLevel.ToLog4NetLevel();
            DateTime     dataTime = DateTime.Now;
            const string message  = "<some nice log-message>";

            var mocks         = new MockRepository();
            var messageWindow = mocks.StrictMock <IMessageWindow>();

            mocks.ReplayAll();

            var appender = new MessageWindowLogAppender
            {
                Enabled       = false,
                MessageWindow = messageWindow
            };

            var logData = new LoggingEventData
            {
                Level        = level,
                TimeStampUtc = dataTime,
                Message      = message
            };
            var logEvent = new LoggingEvent(logData);

            // Call
            appender.DoAppend(logEvent);

            // Assert
            mocks.VerifyAll();
        }
Beispiel #2
0
        public void DoAppend_AppenderEnabled_ForwardAllMessagesToMessageWindow(LogLevelConstant logLevel)
        {
            // Setup
            Level        level    = logLevel.ToLog4NetLevel();
            DateTime     dataTime = DateTime.Now;
            const string message  = "<some nice log-message>";

            var mocks         = new MockRepository();
            var messageWindow = mocks.Stub <IMessageWindow>();

            messageWindow.Expect(w => w.AddMessage(level, dataTime, message));
            mocks.ReplayAll();

            var appender = new MessageWindowLogAppender
            {
                Enabled       = true,
                MessageWindow = messageWindow
            };

            var logData = new LoggingEventData
            {
                Level        = level,
                TimeStampUtc = dataTime,
                Message      = message
            };
            var logEvent = new LoggingEvent(logData);

            // Call
            appender.DoAppend(logEvent);

            // Assert
            mocks.VerifyAll();
        }
Beispiel #3
0
        /// <summary>
        /// Converts a <see cref="LogLevelConstant"/> to a <see cref="Level"/>.
        /// </summary>
        /// <param name="level">The <see cref="LogLevelConstant"/> to convert.</param>
        /// <returns>The <see cref="Level"/> based on the <paramref name="level"/>.</returns>
        /// <exception cref="InvalidEnumArgumentException">Thrown when <paramref name="level"/>
        /// is not a valid value for <see cref="LogLevelConstant"/>.</exception>
        /// <exception cref="NotSupportedException">Thrown when <paramref name="level"/>
        /// is not a supported member.</exception>
        public static Level ToLog4NetLevel(this LogLevelConstant level)
        {
            if (!Enum.IsDefined(typeof(LogLevelConstant), level))
            {
                throw new InvalidEnumArgumentException(nameof(level), (int)level, typeof(LogLevelConstant));
            }

            switch (level)
            {
            case LogLevelConstant.Off:
                return(Level.Off);

            case LogLevelConstant.Fatal:
                return(Level.Fatal);

            case LogLevelConstant.Error:
                return(Level.Error);

            case LogLevelConstant.Warn:
                return(Level.Warn);

            case LogLevelConstant.Info:
                return(Level.Info);

            case LogLevelConstant.Debug:
                return(Level.Debug);

            default:
                throw new NotSupportedException();
            }
        }