Я хотел бы использовать Layouts в NLog, чтобы иметь возможность изменять минимальный уровень регистрации, используя внешнюю переменную:В NLog можно ли использовать макеты для определения уровня журнала?
<nlog>
<variable name="loglevel" value="Debug"/>
<targets>
<target ... />
</targets>
<rules>
<logger name="*" minlevel="${loglevel}" writeTo="LogFile" />
</rules>
</nlog>
После запуска NLog, все уровни лог (например: Трассировка, отладка, информация, ...) установлены на false
, которые указывают, что NLog не удалось правильно разобрать атрибут minlevel
.
Функция макета NLog работает только с атрибутами target
. Что я хочу достичь: в моем реальном приложении loglevel не является постоянным, а скорее обычным layout renderer.
Я также попытался заменить value="Debug"
на value="LogLevel.Debug"
без успеха.
фильтра условие работает, но только если она определена как постоянная, например: 'уровень> = LogLevel.Debug'. Я не смог заставить его работать как переменная: 'level> = $ {loglevel}'. Кроме того, синтаксис для использования, по-видимому, немного отличается от вашего синтаксиса, см. Здесь: https://github.com/NLog/NLog/wiki/Conditions – tigrou