问题引出:在liftweb中使用logback,使得日志可以使用logback的特性,最重要是可以自定义输出位置
基本配置
scala 2.9.2
lift 2.5.M4
logback-classic 0.9.28
slf4j-log4j12 1.6.1 (建议)
陷进1.class Boot
在def boot中不要设置
Logger.setup=Empty
虽然这样做确实会避免liftweb读取log4j.xml
陷进2.class Boot
不要为boot添加以下特性
trait Config {
val logUrl = LiftRules.getResource("/props/test.default.logback.xml")
logUrl.foreach(x => {
Logger.setup = Full(Logback.withFile(x))
})
}
建议1.logback.xml建议放在/resources目录下,分别命名为
default.logback.xml
production.default.logback.xml
test.default.logback.xml
这样可以通过配置Tomcat中的
-Drum.mode=XXX(test,production)
来使用不同的配置
logback.xml中
<!-- 日志输出级别 --> <root level="INFO"> <appender-ref ref="FILE_INFO" /> </root> <root level="WARN"> <appender-ref ref="FILE_WARN" /> </root> <root level="ERROR"> <appender-ref ref="FILE_ERROR" /> </root>
<root level="DEBUG">
<appender-ref ref="STDOUT" /> </root>
必须包含以下四个等级的输出,否则日志将不会被输出到文件.特别注意不能因为不需要DEBUG而省略