конфигурация logback.groovy ничего не регистрирует - PullRequest
3 голосов
/ 14 мая 2011

У меня есть следующий файл конфигурации 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 Ответ

2 голосов
/ 14 мая 2011

Добавьте следующую строку в начале вашего файла logback.groovy (сразу после последнего импорта)

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

statusListener(OnConsoleStatusListener)
...