0
를 사용하여 Nlog 있으며 logLevel를 제어하고 작동하지 않습니다 방법 : 예 LOG_LEVEL이 LogLevel.Info환경 변수를 사용하여 Nlog 구성에서 LogLevel에를 무시하려고 노력하는 환경 변수
같은 설정으로 설정되어
<logger name="*" writeTo="console">
<filters>
<when condition="level >= '${environment:LOG_LEVEL}' " action="Ignore"/>
</filters>
</logger>
Nlog Env var 작품 :
<variable name="myvar1" value="LogLevel.Info"/>
<logger name="*" writeTo="console">
<filters>
<when condition="level >= '${myvar1}' " action="Ignore"/>
</filters>
</logger>
어떤 힌트를 어떻게 env 변수를 사용합니까? 약간의 확장 기능을 쓸까요?
InternalLogger를 활성화하고 오류/예외를 찾으려고 했습니까? 런타임에 환경 변수를 변경하면 응용 프로그램을 다시 시작할 때까지 효과가 나타나지 않습니다. –
그래, 토큰 파싱 문제가있는 추적을 보았습니다. NLog가 지원하지 않는 것 같습니다. 2017-11-24 16 : 12 : 09.4999 'ConditionBasedFilter.condition'을 'level> = $ {environment : LOG_LEVEL}'(으)로 디버그 설정 ' 2017-11-24 16 : 12 : 09.4999 속성'Condition 'NLog.Filters.ConditionBasedFilter'예외 : NLog.Conditions.ConditionParseException : 유효하지 않은 구두점 : NLog.Conditions.ConditionTokenizer.GetNextToken()에서 $ '' – lenisha
아마도 NLog 변수를 값에 할당하는 것이 좋습니다. $ {environment : LOG_LEVEL}을 (를) 찾은 다음 when-filter?에서 NLog 변수를 사용하십시오. –