public void CustomObjectWithMessageProperty() { var layout = new GelfLayout(); var message = new { Message = "Success", Test = 1 }; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual(result.FullMessage, 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.FullMessage, 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.FullMessage, 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.FullMessage, message4.full_Message); Assert.AreEqual(result["_Test"], message4.Test.ToString()); }
public void Strings() { var layout = new GelfLayout(); var message = "test"; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual(message, result.FullMessage); Assert.AreEqual(message, result.ShortMessage); }
public void StringFormat() { var layout = new GelfLayout(); 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.FullMessage); Assert.AreEqual(message.ToString(), result.ShortMessage); }
public void CustomObjectAddedAsAdditionalProperties() { var layout = new GelfLayout(); 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); }
public void BaseGelfDataIncluded() { var layout = new GelfLayout(); var message = "test"; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual(result.FullMessage, message); Assert.AreEqual(result.Facility, "Gelf"); Assert.AreEqual(result.Host, Environment.MachineName); Assert.AreEqual(result.Level, (int)LocalSyslogAppender.SyslogSeverity.Debug); Assert.IsTrue(result.TimeStamp >= DateTime.Now.AddMinutes(-1)); Assert.AreEqual(result.Version, "1.0"); }
public void ThreadContextPropertiesAddedAsAdditionalProperties() { var layout = new GelfLayout(); var message = "test"; ThreadContext.Properties["TraceID"] = 1; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual(result.FullMessage, message); Assert.AreEqual(result["_TraceID"], "1"); }
private GelfMessage GetMessage(GelfLayout layout, LoggingEvent message) { var sb = new StringBuilder(); using (var sw = new StringWriter(sb)) layout.Format(sw, message); return JsonConvert.DeserializeObject<GelfMessage>(sb.ToString()); }
public void ToStringOnObjectIfNoMessageIsProvided() { var layout = new GelfLayout(); 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.FullMessage, message.ToString()); Assert.AreEqual(result.ShortMessage, message.ToString().TruncateMessage(250)); }
public void IncludeLocationInformation() { var layout = new GelfLayout(); layout.IncludeLocationInformation = true; var message = "test"; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual(message, result.FullMessage); Assert.AreEqual(message, result.ShortMessage); Assert.IsNotNullOrEmpty(result.Line); Assert.IsNotNullOrEmpty(result.File); }
public void DictionaryMessage() { var layout = new GelfLayout(); 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"]); }
public void CustomPropertyWithUnderscoreIsAddedCorrectly() { var layout = new GelfLayout(); var message = "test"; ThreadContext.Properties["_TraceID"] = 1; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual(result.FullMessage, message); Assert.AreEqual(result["_TraceID"], "1"); }
public void ObjectPropertiesConvertedToStrings() { var layout = new GelfLayout(); var message = "test"; var someObject = new object(); ThreadContext.Properties["obj"] = someObject; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual(result["_obj"], someObject.ToString()); }
public void PatternConversionInAdditionalProperties() { var layout = new GelfLayout(); 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"]); }
public void NullPropertyValueDoesNotCauseException() { var layout = new GelfLayout(); layout.IncludeLocationInformation = true; var message = "test"; var loggingEvent = GetLogginEvent(message); loggingEvent.Properties["nullProperty"] = null; Assert.DoesNotThrow(() => GetMessage(layout, loggingEvent)); }
public void PatternConversionInAdditionalPropertiesWithCustomSeparators() { var layout = new GelfLayout(); layout.FieldSeparator = "||"; layout.KeyValueSeparator = "=>"; 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"]); }
public void CustomObjectWithShortMessageProperty() { var layout = new GelfLayout(); var message = new { ShortMessage = "Success", Test = 1 }; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual(result.ShortMessage, message.ShortMessage); Assert.AreEqual(result["_Test"], message.Test); var message2 = new { short_message = "Success", Test = 1 }; loggingEvent = GetLogginEvent(message2); result = GetMessage(layout, loggingEvent); Assert.AreEqual(result.ShortMessage, message2.short_message); Assert.AreEqual(result["_Test"], message2.Test); var message3 = new { message = "Success", Test = 1 }; loggingEvent = GetLogginEvent(message3); result = GetMessage(layout, loggingEvent); Assert.AreEqual(result.FullMessage, message3.message); Assert.AreEqual(result.ShortMessage, message3.message); Assert.AreEqual(result["_Test"], message3.Test); var message4 = new { message = "Success", short_message = "test", Test = 1 }; loggingEvent = GetLogginEvent(message4); result = GetMessage(layout, loggingEvent); Assert.AreEqual(result.FullMessage, message4.message); Assert.AreEqual(result.ShortMessage, message4.short_message); Assert.AreEqual(result["_Test"], message4.Test); }
public void PatternConversionLayoutSpecified() { var layout = new GelfLayout(); layout.ConversionPattern = "[%level] - [%c{1}]"; var message = new { Message = "Test" }; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual("[DEBUG] - [Class]", result["full_message"]); Assert.AreEqual("[DEBUG] - [Class]", result["short_message"]); }
public void NumericPropertiesAreNotConvertedToStrings() { var layout = new GelfLayout(); var message = "test"; ThreadContext.Properties["decimal"] = 1m; ThreadContext.Properties["double"] = 1d; ThreadContext.Properties["float"] = 1f; ThreadContext.Properties["int"] = 1; ThreadContext.Properties["uint"] = (uint)1; ThreadContext.Properties["long"] = 1L; ThreadContext.Properties["ulong"] = 1ul; ThreadContext.Properties["short"] = (short)1; ThreadContext.Properties["ushort"] = (ushort)1; ThreadContext.Properties["nullable"] = (int?)1; var loggingEvent = GetLogginEvent(message); var result = GetMessage(layout, loggingEvent); Assert.AreEqual(result["_decimal"], 1); Assert.AreEqual(result["_double"], 1); Assert.AreEqual(result["_float"], 1); Assert.AreEqual(result["_int"], 1); Assert.AreEqual(result["_uint"], 1); Assert.AreEqual(result["_long"], 1); Assert.AreEqual(result["_ulong"], 1); Assert.AreEqual(result["_short"], 1); Assert.AreEqual(result["_ushort"], 1); Assert.AreEqual(result["_nullable"], 1); }