public void ShouldSetShortMessageFromMessagePropertyOnAnMessageObject() { var messageObject = new { Message = "message", Foo = "Bar" }; var loggingEvent = this.CreateLogginEvent(messageObject, Level.DEBUG); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)); var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage.ShortMessage, Is.EqualTo("message")); }
public void ShouldBeAbleToSuccessfullyLogMessagesShorterThan255Characters() { const string message = "a short message"; var loggingEvent = this.CreateLogginEvent(message, Level.INFO); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)); var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage.ShortMessage, Is.EqualTo(message)); }
public void ShouldCreateAGelfMessageWithAnObjectInLoggingEvent() { var messageObject = new { A = "B", C = "D" }; var loggingEvent = this.CreateLogginEvent(messageObject, Level.DEBUG); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)); var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage["_A"], Is.EqualTo("B")); Assert.That(gelfMessage["_C"], Is.EqualTo("D")); }
public void ShouldCreateAGelfMessageWithADictionaryAsMessageObjectWithNullProperties() { var messageObject = new Dictionary <string, object> { { "key1", null } }; var loggingEvent = this.CreateLogginEvent(messageObject, Level.DEBUG); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)); var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage.ContainsKey("_key1"), Is.False); }
public void When_Short_Message_Would_Be_Empty_Populate_With_Type_Of_Logged_Object_() { var loggingEvent = this.CreateLogginEvent(new DummyLoggedObject { Info = "test" }, Level.DEBUG); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)); var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage.ShortMessage, Is.EqualTo("Logged object of type: " + typeof(Tests.GelfAdapterTests).FullName + "+DummyLoggedObject")); Assert.That(gelfMessage["_Info"], Is.EqualTo("test")); }
public void Populates_GelfMessage_WithExceptionInformation() { var exception = CreateExceptionObjectWithStackTrace("some exception message"); var loggingEvent = this.CreateLogginEvent(exception, Level.DEBUG); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)); var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage.ShortMessage, Is.EqualTo("some exception message")); Assert.That(gelfMessage.FullMessage, Contains.Substring("System.Exception: some exception message")); Assert.That(gelfMessage["_ExceptionType"], Is.EqualTo("System.Exception")); }
public void ShouldCreateAGelfMessageWithADictionaryAsMessageObject() { var messageObject = new Dictionary <string, long> { { "key1", 1 }, { "key2", 2 } }; var loggingEvent = this.CreateLogginEvent(messageObject, Level.DEBUG); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)); var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage["_key1"], Is.EqualTo("1")); Assert.That(gelfMessage["_key2"], Is.EqualTo("2")); }
public void SetsFacilityInTheGelfMessageWhenItHasBeenConfigured() { const string message = "irrelevant message"; var loggingEvent = this.CreateLogginEvent(message, Level.DEBUG); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)) { Facility = "test-system" }; var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage.Facility, Is.EqualTo("test-system")); }
public void GelfMessageContainsFieldsRequiredByTheStandard() { const string message = "some log message"; var loggingEvents = this.CreateLogginEvent(message, Level.INFO); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(2)); var gelfMessage = adapter.Adapt(loggingEvents); Assert.That(gelfMessage.Version, Is.EqualTo("1.0")); Assert.That(gelfMessage.Host, Is.EqualTo(Environment.MachineName)); Assert.That(gelfMessage.ShortMessage, Is.Not.Empty); Assert.That(gelfMessage.Timestamp, Is.GreaterThan(DateTime.MinValue)); }
public void Adds_Exception_Information_When_Exception_Is_Supplied() { var exception = CreateExceptionObjectWithStackTrace("Giant Shrimp Monster"); var loggingEvent = this.CreateLogginEvent("shiver me whiskers", Level.DEBUG, exception); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)); var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage.ShortMessage, Is.EqualTo("shiver me whiskers")); Assert.That(gelfMessage["_ExceptionType"], Is.EqualTo("System.Exception")); Assert.That(gelfMessage["_ExceptionMessage"], Is.EqualTo("Giant Shrimp Monster")); Assert.That(gelfMessage["_Exception"], Is.StringStarting("System.Exception: Giant Shrimp Monster")); }
public void GelfMessageIsPopulatedWithExpectedValuesBasedOnTheLoggingEvent() { var message = "logging event data message which is longer than two hundred and fifty five characters".Repeat(3); var loggingEvent = this.CreateLogginEvent(message, Level.DEBUG); var adapter = new GelfAdapter(StubGelfLogLevelMapper.WithValueToReturn(1)); var gelfMessage = adapter.Adapt(loggingEvent); Assert.That(gelfMessage.FullMessage, Is.EqualTo(message)); Assert.That(gelfMessage.ShortMessage, Is.EqualTo(message.Substring(0, 250))); Assert.That(gelfMessage.Level, Is.EqualTo((long)1)); Assert.That(gelfMessage.Timestamp, Is.EqualTo(loggingEvent.TimeStamp).Within(1).Seconds); Assert.That(gelfMessage.File, Is.StringEnding(@"\tests\GelfAdapterTests.cs")); Assert.That(string.IsNullOrEmpty(gelfMessage.Line), Is.False); Assert.That(gelfMessage["_LoggerName"], Is.EqualTo(typeof(GelfAdapter).FullName)); Assert.That(gelfMessage["_LoggerLevel"], Is.EqualTo("DEBUG")); Assert.That(gelfMessage["_ProcessName"], Is.EqualTo(Process.GetCurrentProcess().ProcessName)); Assert.That(gelfMessage["_Domain"], Is.EqualTo(SystemInfo.ApplicationFriendlyName)); Assert.That(gelfMessage["_ThreadName"], Is.EqualTo(Thread.CurrentThread.Name)); }