2017-02-02 2 views
0

У меня есть несколько макетов пользовательских событий в моей конфигурации, как этот {event-properties:item=SomeCustomProperty}NLog не пишет propperties пустых пользовательских событий в SqlDatabase

Заполнение их, как это:

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} не имеет значения, запись не будет добавлена ​​в базу данных.

Есть ли причины для этого? Есть ли обходной путь?

+0

'Если я заменить нулевую with' С чего? – Julian

+0

'{event-properties: item = SomeCustomProperty}' должно быть '$ {{event-properties: item = SomeCustomProperty}' конечно – Julian

ответ

1

Все рендеры макет, как ${event-properties:item=SomeCustomProperty}, возвращает пустую строку, если пустой, а не null

Смежные вопросы