2017-10-24 12 views
1

NLogには、条件付きの値を持つ変数を持つ方法がありますか?私はこれを見てきました:https://github.com/NLog/NLog/wiki/When-Layout-Rendererと、次の試してみました:NLog条件変数の値

<variable name="EnvironmentString" value="${when:when='${IsProd}' == 'true':Prod:else:Stage}"/> 

が、値は単なるリテラルとして返されます。ロジックは処理されていません。

ありがとう、

答えて

0

これは動作するはずです。

しかし、変数の使用方法によって異なります。

あなたが使用している場合:

${EnvironmentString} 

設定をロードするときそして、それが評価されています、そしてあなたは、すべてのパラメータのためにそれを使用することができます。

、それを動的に評価する

${var:EnvironmentString} 

を使用するが、ターゲット/レイアウトタイプLayout

0

1であるのパラメータ場合${var}にのみ動作することに注意してください)これに構文を変更するには:

${when:when='${var:IsProd}'=='true':inner=Prod:else=Stage} 

注:

:他=なく:他:

:内側=

VAR:IsProd(IsProdと仮定すると、別の変数である)

2)移動し、最終的なレイアウトに全条件

<target ... layout="other stuff|${when:when='${var:IsProd}'=='true':inner=Prod:else=Stage}|other stuff" ... /> 

I変数で動作する条件文を取得することはできませんでした。多分誰かが理由を言うかもしれない。