NLog использует When Condition Renderer для доступности значений - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть значение для ввода журнала (event-properties:item=Id), но иногда это значение может быть пустым.Я бы хотел, чтобы NLog генерировал значение (guid), если оно пустое / пустое.Я пытаюсь это сделать, когда Condition Renderer, но я не смог заставить его генерировать что-либо, входное значение все еще пусто.Что я делаю не так?

<parameter name="Id" type="System.Guid" 
layout="${when:when=length('${event-properties:item=Id}')>0:${event-properties\:item=Id}:${guid\:format=N}}"/>

Использование NLog 4.5.

1 Ответ

0 голосов
/ 28 ноября 2018

Альтернативное решение:

<parameter name="Id" type="System.Guid" layout="${event-properties:Id:whenEmpty=${guid:format=N}}" />

Кстати.вы можете рассмотреть возможность использования GeneratedFromLogEvent для ${guid} при записи в несколько целей.https://github.com/NLog/NLog/wiki/Guid-layout-renderer

...