log4j2.xml
ファイルですでにLog4J 2を正常に設定していますが、 JNDI variable lookupでファイル内のProperty
の値を正常に設定しています。Log4J 2でJNDI変数ルックアップを検索する際に、どのようにデフォルト値を設定しますか?
ただし、JNDI変数が存在しない場合はProperty
の既定値を指定します。
これは可能ですか?
log4j2.xml
ファイルですでにLog4J 2を正常に設定していますが、 JNDI variable lookupでファイル内のProperty
の値を正常に設定しています。Log4J 2でJNDI変数ルックアップを検索する際に、どのようにデフォルト値を設定しますか?
ただし、JNDI変数が存在しない場合はProperty
の既定値を指定します。
これは可能ですか?
はこれを試してみてください:${type:key:-defaultValue}
:
<Root level="${jndi:yourJndiVariableName:-DEFAULT}">
一般的に、すべてのLog4j2ルックアップは、このパターンに従ってください。
はい:これはデフォルトのプロパティマップを使用して行うことができます。
<Configuration status="DEBUG" name="Example">
<Properties>
<Property name="yourJndiVariableName">
the value used if the JNDI variable cannot be found
</Property>
</Properties>
... more configuration ...
<Loggers>
<Root level="${jndi:yourJndiVariableName}">
<AppenderRef ref="console"/>
</Root>
</Loggers>
... more configuration ...
</Configuration>
According to the Log4J 2 configuration documentation for property substitution、これはまた、(例えばなどの環境変数、システムプロパティ、など)その他の財産上の起源のために動作します。