NLog: Как использовать разные макеты для разных уровней? - PullRequest
0 голосов
/ 18 февраля 2019

Я видел этот старый вопрос: Как применить разные макеты к одной и той же цели в NLog?

Ответ был: использовать разные цели для разных уровней.Я не уверен, что это всегда будет работать правильно.

Много времени прошло с тех пор.Может быть, теперь есть лучший способ?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Вы можете создать пользовательский макет, который имеет условия.Это будет выглядеть как CompoundLayout

например

<layout type='ConditionalLayout'>
    <if condition="">
        <layout type='JsonLayout'> ...</layout>
    </if>
    <if condition="">
        <layout type='JsonLayout'> ...</layout>
    </if>

</layout>

Файл кода для CompoundLayout находится здесь: https://github.com/NLog/NLog/blob/dev/src/NLog/Layouts/CompoundLayout.cs

0 голосов
/ 19 февраля 2019

Похоже, нет других способов использовать разные макеты с одной целью.

И, возможно, лучше просто использовать пользовательский макет.

...