NLog не записывает пустые пользовательские свойства события в SqlDatabase
У меня есть несколько пользовательских макетов событий в моей конфигурации, как это {event-properties:item=SomeCustomProperty}
Заполняя их так:
var testLogger = testNLogFactory.GetLogger("Test");
LogEventInfo theEvent = new LogEventInfo(LogLevel.Debug, null, "Test");
theEvent.Properties.Add("SomeCustomProperty", null);
testLogger.Debug(theEvent);
У меня есть 2 цели, файл и база данных. Целевой файл работает нормально, но в случае базы данных эта запись не будет записана, пока значение SomeCustomProperty остается нулевым. Если я заменю null
с любым значением, это работает просто отлично.
Соответствующая таблица в базе данных является правильной и позволяет NULL
значения в SomeCustomProperty
но если {event-properties:item=SomeCustomProperty}
не имеет значения, запись не будет добавлена в базу данных.
Есть ли причина для такого поведения? Есть ли обходной путь?
1 ответ
Все рендеры макетов, как ${event-properties:item=SomeCustomProperty}
, вернет пустую строку, если пусто, а не null