Пример #1
0
        private LogMessage GetMessage(LogMessageLayout layout, LoggingEvent message)
        {
            var sb = new StringBuilder();

            using (var sw = new StringWriter(sb))
                layout.Format(sw, message);

            return(JsonConvert.DeserializeObject <LogMessage>(sb.ToString()));
        }
Пример #2
0
        public void Strings()
        {
            var layout = new LogMessageLayout();

            var message      = "test";
            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(message, result.Message);
        }
Пример #3
0
        public void StringFormat()
        {
            var layout = new LogMessageLayout();

            var message      = new SystemStringFormat(CultureInfo.CurrentCulture, "This is a {0}", "test");
            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(message.ToString(), result.Message);
        }
Пример #4
0
        public void CustomObjectAddedAsAdditionalProperties()
        {
            var layout = new LogMessageLayout();

            var message      = new { Test = 1, Test2 = "YES!!!" };
            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result["Test"], message.Test.ToString());
            Assert.AreEqual(result["Test2"], message.Test2);
        }
Пример #5
0
        public void BaseLogMessageIncluded()
        {
            var layout       = new LogMessageLayout();
            var message      = "test";
            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result.Message, message);
            Assert.AreEqual(result.Host, Environment.MachineName);
            Assert.AreEqual(result.SysLogLevel, (int)LocalSyslogAppender.SyslogSeverity.Debug);
            Assert.IsTrue(result.TimeStamp >= DateTime.Now.AddMinutes(-1));
        }
Пример #6
0
        public void PatternConversionLayoutSpecified()
        {
            var layout = new LogMessageLayout();

            layout.ConversionPattern = "[%level] - [%c{1}]";
            var message = new { Message = "Test" };

            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual("[DEBUG] - [Class]", result["message"]);
        }
Пример #7
0
        public void ToStringOnObjectIfNoMessageIsProvided()
        {
            var layout = new LogMessageLayout();

            var message = new { Test = 1, Test2 = 2 };

            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result["Test"], message.Test.ToString());
            Assert.AreEqual(result["Test2"], message.Test2.ToString());
            Assert.AreEqual(result.Message, message.ToString());
        }
Пример #8
0
        public void DictionaryMessage()
        {
            var layout  = new LogMessageLayout();
            var message = new Dictionary <string, string> {
                { "Test", "1" }, { "Test2", "2" }
            };

            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result["Test"], message["Test"]);
            Assert.AreEqual(result["Test2"], message["Test2"]);
        }
Пример #9
0
        public void BaseLogMessageIncluded()
        {
            var layout       = new LogMessageLayout();
            var message      = "test";
            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result.Message, message);
            Assert.AreEqual(result.Host, Environment.MachineName);
            Assert.AreEqual(result.Level, 30);
            Assert.AreEqual(result.LevelName, "DEBUG");
            Assert.IsNotEmpty(result.Time);
        }
Пример #10
0
        public void CustomPropertyWithUnderscoreIsAddedCorrectly()
        {
            var layout = new LogMessageLayout();

            var message = "test";

            ThreadContext.Properties["TraceID"] = 1;

            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result.Message, message);
            Assert.AreEqual(result["TraceID"], "1");
        }
Пример #11
0
        public void ThreadContextPropertiesAddedAsAdditionalProperties()
        {
            var layout = new LogMessageLayout();

            var message = "test";

            ThreadContext.Properties["TraceID"] = 1;

            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result.Message, message);
            Assert.AreEqual(result["TraceID"], "1");
        }
Пример #12
0
        public void IncludeLocationInformation()
        {
            var layout = new LogMessageLayout();

            layout.IncludeLocationInformation = true;

            var message      = "test";
            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(message, result.Message);
            Assert.IsNotEmpty(result.Line);
            Assert.IsNotEmpty(result.File);
        }
Пример #13
0
        public void PatternConversionInAdditionalProperties()
        {
            var layout = new LogMessageLayout();

            layout.AdditionalFields = "Level:%level,AppDomain:%a,LoggerName:%c{1},ThreadName:%t";
            var message = new { Message = "Test" };

            var loggingEvent = GetLogginEvent(message);

            var result = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result["Level"], "DEBUG");
            Assert.IsTrue(!string.IsNullOrWhiteSpace(result["AppDomain"].ToString()));
            Assert.IsTrue(!string.IsNullOrWhiteSpace(result["ThreadName"].ToString()));
            Assert.AreEqual("Class", result["LoggerName"]);
        }
Пример #14
0
        public void CustomObjectWithMessageProperty()
        {
            var layout  = new LogMessageLayout();
            var message = new { Message = "Success", Test = 1 };

            var loggingEvent = GetLogginEvent(message);
            var result       = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result.Message, message.Message);
            Assert.AreEqual(result["Test"], message.Test.ToString());

            var message2 = new { FullMessage = "Success", Test = 1 };

            loggingEvent = GetLogginEvent(message2);
            result       = GetMessage(layout, loggingEvent);


            Assert.AreEqual(result.Message, message2.FullMessage);
            Assert.AreEqual(result["Test"], message2.Test.ToString());

            var message3 = new { message = "Success", Test = 1 };

            loggingEvent = GetLogginEvent(message3);
            result       = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result.Message, message3.message);
            Assert.AreEqual(result["Test"], message3.Test.ToString());

            var message4 = new { full_Message = "Success", Test = 1 };

            loggingEvent = GetLogginEvent(message4);
            result       = GetMessage(layout, loggingEvent);

            Assert.AreEqual(result.Message, message4.full_Message);
            Assert.AreEqual(result["Test"], message4.Test.ToString());
        }