2011-02-17 146 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 
    } 
} 
相關問題