我正在尝试使用主机名动态配置 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",则一切正常。我哪里错了?