Grails中log4j日誌的配置

來源:互聯網
上載者:User

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
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.