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

出于某种原因,未设置 token 属性(我可以从调查 Java 中的 appenders 层次结构中看到)。相反,如果我输入一个常量,例如 token = "myToken",则一切正常。我哪里错了?

4

0 回答 0