1

ホスト名を使用して 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" などの定数を配置すると、すべて正常に動作します。どこが間違っていますか?

4

0 に答える 0