我的配置中有一些自定义事件布局,例如{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
,它就可以正常工作。
数据库中的相应表格是正确的,并允许NULL
中的SomeCustomProperty
值,但如果{event-properties:item=SomeCustomProperty}
没有值,则记录将不会添加到数据库中。
这种行为有什么理由吗?有没有解决方法?
答案 0 :(得分:1)
所有布局渲染器(如${event-properties:item=SomeCustomProperty}
)将返回空字符串(如果为空),而不是null