ホスト名を使用して LogBack を動的に構成し、ロガーの特定のプロパティを設定しようとしています。アペンダーの前に、次のようにマップを初期化します。
def HOSTNAME="${hostname}"
def logEntriesTokens = [ "Info03": "myToken" ]
そして、私は次のことを行います:
appender("LogEntriesAppender",LogentriesAppender){
encoder(PatternLayoutEncoder) {
pattern = "%d{dd MMM yyyy ; HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
}
token = logEntriesTokens[HOSTNAME]
println HOSTNAME
println logEntriesToken
println logEntriesTokens[HOSTNAME]
println token
Ssl = false
facility = "USER"
filter(ThresholdFilter){
level = ERROR
}
}
そして、結果は次のとおりです。
Info03
[Info03:myToken]
myToken
null
何らかの理由で、トークン プロパティが設定されていません (Java のアペンダー階層を調査するとわかります)。代わりに token = "myToken" などの定数を配置すると、すべて正常に動作します。どこが間違っていますか?