Btw. Любопытно, почему ваш первоначальный вопрос имеет значение меньше, чем больше, чем. Ожидается, когда при настройке LOG_LEVEL для предупреждения, он должен регистрировать все предупреждения или хуже.

ка переопределить LogLevel в конфигурации Nlog с помощью переменной среды, и это не работает: например,

<logger name="*"  writeTo="console">
          <filters>
              <when condition="level >= '${environment:LOG_LEVEL}' " action="Ignore"/>
          </filters>      
</logger>

где LOG_LEVEL имеет значение LogLevel.Info

Тот же конфиг с Nlog Env var работает:

<variable name="myvar1" value="LogLevel.Info"/>
 <logger name="*"  writeTo="console">
          <filters>
              <when condition="level >= '${myvar1}' " action="Ignore"/>
          </filters>      
 </logger>

Любые советы, как использовать переменные env? Какое-то расширение для записи?

 lenisha24 нояб. 2017 г., 22:12
Да, посмотрел на след, у него есть проблема с анализом токенов. Похоже, NLog не поддерживает это.2017-11-24 16:12:09.4999 Debug Setting 'ConditionBasedFilter.condition' to 'level>=${environment:LOG_LEVEL}' 2017-11-24 16:12:09.4999 Warn Error when setting property 'Condition' on 'NLog.Filters.ConditionBasedFilter' Exception: NLog.Conditions.ConditionParseException: Invalid punctuation: $ at NLog.Conditions.ConditionTokenizer.GetNextToken()
 Julian27 нояб. 2017 г., 14:48
Является${var:myvar1} работает? Если так, то${environment:LOG_LEVEL} должен работать также
 Rolf Kristensen24 нояб. 2017 г., 22:44
Возможно, можно обойти эту проблему, назначив переменную NLog значению $ {environment: LOG_LEVEL}, а затем использовать переменную NLog в когда-фильтре ?.
 Rolf Kristensen24 нояб. 2017 г., 21:48
Вы пытались включить InternalLogger и искать какие-либо ошибки / исключения? Помните, что изменение переменных среды во время выполнения во многих случаях не вступит в силу до перезапуска приложения.
 Rolf Kristensen25 нояб. 2017 г., 15:22
Уже сообщалось как ошибкаgithub.com/NLog/NLog/issues/1502 (У него есть предложенный обходной путь, но он не поддерживает меньше / больше, чем)

Ответы на вопрос(0)

Ваш ответ на вопрос