2017-02-02 6 views
0

に空のカスタムイベントproppertiesを書いていない私は、この{event-properties:item=SomeCustomProperty}NLogは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を任意の値に置き換えても問題ありません。

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