0
を使用してNlog LOGLEVELを制御し、それが動作しない方法:例えばLOG_LEVELはLogLevel.Info環境変数を使用してNlog設定でログレベルを上書きしようとすると、環境変数
同じ設定とに設定されている
<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 'On' NLog.Filters.ConditionBasedFilter '例外:NLog.Conditions.ConditionParseException:無効な句読点:NLog.Conditions.ConditionTokenizer.GetNextToken()の$ '' ' – lenisha
NLog変数を値に割り当てることは、 $ {environment:LOG_LEVEL}の中で使用し、when-filter?でNLog変数を使用します。 –