public void WhenDbNullRawValueShouldWork() { SimpleLayout l = @"${event-properties:prop1:whenEmpty=${db-null}}"; { var le = LogEventInfo.Create(LogLevel.Info, "logger", "message"); le.Properties["prop1"] = 1; var success = l.TryGetRawValue(le, out var rawValue); Assert.True(success); Assert.Equal(1, rawValue); } // empty log message { var le = LogEventInfo.Create(LogLevel.Info, "logger", "message"); var success = l.TryGetRawValue(le, out var rawValue); Assert.True(success); Assert.Equal(DBNull.Value, rawValue); } }
public void TryGetRawValue_WhenEmpty_ShouldNotFailWithNullException() { // Arrange SimpleLayout l = "${event-properties:eventId:whenEmpty=0}"; var logEventInfo = LogEventInfo.CreateNullEvent(); l.Precalculate(logEventInfo); // Act var success = l.TryGetRawValue(logEventInfo, out var value); // Assert Assert.False(success, "Missing EventId"); }
public void TryGetRawValue_MultipleLayoutRender_ShouldGiveNullRawValue() { // Arrange SimpleLayout l = "${sequenceid} "; var logEventInfo = LogEventInfo.CreateNullEvent(); // Act var success = l.TryGetRawValue(logEventInfo, out var value); // Assert Assert.False(success); Assert.Null(value); }
public void WhenDbNullRawValueShouldWorkElse(string loggername, object expectedValue, bool expectedSuccess) { expectedValue = OptionalConvert(expectedValue); //else cannot be invoked ambiently. First param is inner SimpleLayout l = @"${when:something:when=logger=='logger':else=${db-null}}"; var le = LogEventInfo.Create(LogLevel.Info, loggername, "message"); var success = l.TryGetRawValue(le, out var result); Assert.Equal(expectedValue, result); Assert.Equal(expectedSuccess, success); }
public void TryGetRawValue_SingleLayoutRender_ShouldGiveRawValue() { // Arrange SimpleLayout l = "${sequenceid}"; var logEventInfo = LogEventInfo.CreateNullEvent(); // Act var success = l.TryGetRawValue(logEventInfo, out var value); // Assert Assert.True(success, "success"); Assert.IsType<int>(value); Assert.True((int)value >= 0, "(int)value >= 0"); }
public void TryGetRawValue_MutableLayoutRender_ShouldGiveNullRawValue() { // Arrange SimpleLayout l = "${event-properties:builder}"; var logEventInfo = LogEventInfo.CreateNullEvent(); logEventInfo.Properties["builder"] = new StringBuilder("mybuilder"); l.Precalculate(logEventInfo); // Act var success = l.TryGetRawValue(logEventInfo, out var value); // Assert Assert.False(success); Assert.Null(value); }
public void TryGetRawValue_ImmutableLayoutRender_ShouldGiveRawValue() { // Arrange SimpleLayout l = "${event-properties:correlationid}"; var logEventInfo = LogEventInfo.CreateNullEvent(); var correlationId = Guid.NewGuid(); logEventInfo.Properties["correlationid"] = correlationId; l.Precalculate(logEventInfo); // Act var success = l.TryGetRawValue(logEventInfo, out var value); // Assert Assert.True(success, "success"); Assert.IsType<Guid>(value); Assert.Equal(correlationId, value); }
public void LongDateTryGetRawValue() { // Arrange SimpleLayout l = "${longdate:UniversalTime=true}"; var timestamp = DateTime.Now; var logEventInfo = LogEventInfo.CreateNullEvent(); logEventInfo.TimeStamp = timestamp; // Act var success = l.TryGetRawValue(logEventInfo, out var value); // Assert Assert.True(success, "success"); Assert.IsType <DateTime>(value); Assert.Equal(timestamp.ToUniversalTime(), (DateTime)value); }