2011-02-17 145 views
3

关于日志记录的Lift wiki page表明大量设置自动完成。现在我的问题是我已经有一个运行的后端,它有自己的日志配置和我的类路径中应该使用的log4j.properties文件。 log4j和SLF4j也依赖于类路径。使用Lift配置日志记录

主要问题是我得到了一切的完整调试输出。特别是休眠 - 这是非常烦人的。

我用Lift 2.3-M1和试图做在boot()开始执行以下操作:

Logger.setup = Full(Log4j.withFile(getClass().getResource("/props/log4j.xml"))) 

我目前使用的是快速砍死在一起简单地抑制DEBUG输出的log4j.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"> 
<log4j:configuration threshold="info" xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="CA" class="org.apache.log4j.ConsoleAppender"> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="[%p] %c{2} %m%n"/> 
    </layout> 
    </appender> 
    <root> 
    <level value="info"/> 
    <appender-ref ref="CA"/> 
    </root> 
</log4j:configuration> 

当我创建一个errornous log4j.xml我也是从SAXParser的得到一个错误,所以它必须被解析。不过,我仍然得到所有的DEBUG输出。第二次尝试在做以下操作:

LiftRules.configureLogging =() =>() 
Logger.setup = Full(Logback.withFile(getClass().getResource("/props/log4j.xml"))) 

因为我不希望有电梯配置日志记录我因为后端已经配置我想现在把它完全关闭。哦,我也试过LogBoot.logSetup =() => false没有运气。

我非常感谢在这个问题上的任何帮助。

+0

您是否尝试过的邮件列表?我认为这将是您的问题更好的场所。 – pr1001 2011-02-17 14:05:22

回答

3

问题得到解答on the Lift mailing list

此修复程序将删除logback依存关系,并包括log4jslf4j-log4jboot()除了有效的default.log4j.xml之外,不需要其他配置。

2

我有一个类似的问题,在下述溶液中传来:

import net.liftweb.common.{ Empty, Logger } 
import net.liftweb.http.Bootable 
class BootLoader extends Bootable { 
    def boot = { 
    // other boot configuration ... 

    // prevent Lift from messing up my log4j config                               
    Logger.setup = Empty 
    } 
} 
相关问题