logback.groovy配置没有记录任何内容

时间:2011-05-14 00:36:55

标签: java configuration slf4j logback

我有以下logback.groovy配置文件,我似乎无法理解为什么它没有按照我的意愿去做。理想情况下,TRACE或更高版本的每条消息都应记录到一个文件中,WARN或更高版本的任何消息都会立即显示在stdout上。不幸的是,我似乎无法实现这一点。有什么想法吗?

import ch.qos.logback.classic.encoder.PatternLayoutEncoder
import ch.qos.logback.core.ConsoleAppender
import ch.qos.logback.core.FileAppender

import static ch.qos.logback.classic.Level.TRACE
import static ch.qos.logback.classic.Level.WARN

def bySecond = timestamp("yyyyMMdd'.'HHmmss", context.birthTime)

appender("STDOUT", ConsoleAppender) {
  encoder(PatternLayoutEncoder) {
    pattern = "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
  }
}

appender("FILE", FileAppender) {
  file = "./logs/log-${bySecond}.log"
  encoder(PatternLayoutEncoder) {
    pattern = "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
  }
}

logger("com.foo", WARN, ["STDOUT"])
root(TRACE, ["FILE"])

谢谢!

1 个答案:

答案 0 :(得分:2)

在logback.groovy文件的开头添加以下行(在上次导入后)

import ch.qos.logback.core.status.OnConsoleStatusListener

statusListener(OnConsoleStatusListener)