如何使用logback.groovy文件将TRACE级别记录到文件并将INFO记录到控制台
问题描述:
我正在尝试将日志调用直接输出到不同位置的不同输出级别。我希望所有的日志总是进入文件,而只需要INFO和上面的控制台。这不可能吗?我有以下,它不起作用。两者都是一样的:如何使用logback.groovy文件将TRACE级别记录到文件并将INFO记录到控制台
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.crystal", WARN, ["STDOUT"])
logger("com.crystal", TRACE, ["FILE"])
root(TRACE)
scan()
是否有可能直接相同的日志消息,根据关不同级别的两个不同的地方?
答
发送跟踪到两个附加目的地
logger 'com.crystal', TRACE, ['STDOUT', 'FILE']
,但添加了一个筛选的ConsoleAppender
appender("FILE", FileAppender) {
filter(ch.qos.logback.classic.filter.ThresholdFilter) {
level = INFO
}
...
}
+0
非常感谢!我一直试图永远没有成功,直到你走了! – 2011-05-14 02:26:07
标记你的问题 “的logback” 将是有益的。 – Ceki 2011-09-11 21:35:42