Grails 中log4j日誌的配置

Grails採用Log4j記錄日誌信息,Log4j的配置信息寫在config.groovy文件中。

一、Grails 1.1 可以爲不同的包下面的代碼指定不同的日誌級別,如:
log4j = {
    // 設置控制器和GSP頁面的級別爲error
    error  'org.codehaus.groovy.grails.web.servlet',  //  controllers
           'org.codehaus.groovy.grails.web.pages' //  GSP

    // 設置插件中的日誌級別爲warn
    warn   'org.codehaus.groovy.grails.plugins'
}

二、定義自己的Appender
Grails默認的Appender是把日誌輸出到控制檯
appenders {
        console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
}
log4j支持很多種類型的appender,比如:JDBC,Console,File,rollingFile
log4j的appender還支持多種日誌輸出格式:Xml,Html,simple,pattern

具體可以參考log4j的文檔:
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Appender.html
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Layout.html

一般常用的appender是每天產生1個日誌文件,配置如下:
appenders {
        appender new org.apache.log4j.DailyRollingFileAppender(name:"dailyAppender",layout:pattern(conversionPattern: '%c{2} %m%n'),fileName:"e:\\grails.log",datePattern:"'.'yyyy-MM-dd")
 }

我們還可以定義多個appender,併爲不同的級別的日誌指定不同的appender,如:
log4j = {
   appenders {
        appender new org.apache.log4j.DailyRollingFileAppender(name:"dailyAppender",layout:pattern(conversionPattern: '%c{2} %m%n'),fileName:"e:\\grails.log",datePattern:"'.'yyyy-MM-dd")
        console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
   }

    // error級別的日誌採用dailyAppender記錄到文件中
    error  dailyAppender:'org.codehaus.groovy.grails.web.servlet',  //  controllers
           'org.codehaus.groovy.grails.web.pages' //  GSP

    // error級別的日誌則使用stdout直接輸出到控制檯
    warn   stdout:'org.codehaus.groovy.grails.plugins'
}

三、定義Root Logger
      雖然我們可以定義多個appender,並且爲不同的級別指定不同的appender,但一般我們希望只定義1個appender,
所有日誌的輸出都使用這個appender,這個時候就需要用到root logger了。

appenders {
        appender new org.apache.log4j.DailyRollingFileAppender(name:"dailyAppender",layout:pattern(conversionPattern: '%c{2} %m%n'),fileName:"e:\\grails.log",datePattern:"'.'yyyy-MM-dd")
 }
root{
       error 'dailyAppender'
       additivity = true
 }

轉自:http://www.blogjava.net/BearRui

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章