Grails采用Log4j記錄日志信息,Log4j的配置信息寫在config.groovy文件中。
一、Grails 1.1 可以為不同的包下面的代碼指定不同的日志級別,如:
log4j = {
// 設(shè)置控制器和GSP頁面的級別為error
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages' // GSP
// 設(shè)置插件中的日志級別為warn
warn 'org.codehaus.groovy.grails.plugins'
}
二、定義自己的Appender
Grails默認(rèn)的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是每天產(chǎn)生1個(gè)日志文件,配置如下:
appenders {
appender new org.apache.log4j.DailyRollingFileAppender(name:"dailyAppender",layout:pattern(conversionPattern: '%c{2} %m%n'),fileName:"e:\\grails.log",datePattern:"'.'yyyy-MM-dd")
}
我們還可以定義多個(gè)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
雖然我們可以定義多個(gè)appender,并且為不同的級別指定不同的appender,但一般我們希望只定義1個(gè)appender,
所有日志的輸出都使用這個(gè)appender,這個(gè)時(shí)候就需要用到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
}
一、Grails 1.1 可以為不同的包下面的代碼指定不同的日志級別,如:
log4j = {
// 設(shè)置控制器和GSP頁面的級別為error
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages' // GSP
// 設(shè)置插件中的日志級別為warn
warn 'org.codehaus.groovy.grails.plugins'
}
二、定義自己的Appender
Grails默認(rèn)的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是每天產(chǎn)生1個(gè)日志文件,配置如下:
appenders {
appender new org.apache.log4j.DailyRollingFileAppender(name:"dailyAppender",layout:pattern(conversionPattern: '%c{2} %m%n'),fileName:"e:\\grails.log",datePattern:"'.'yyyy-MM-dd")
}
我們還可以定義多個(gè)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
雖然我們可以定義多個(gè)appender,并且為不同的級別指定不同的appender,但一般我們希望只定義1個(gè)appender,
所有日志的輸出都使用這個(gè)appender,這個(gè)時(shí)候就需要用到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
}
[作者]:BearRui(AK-47)
[博客]: http://www.aygfsteel.com/bearrui/
[聲明]:本博所有文章版權(quán)歸作者所有(除特殊說明以外),轉(zhuǎn)載請注明出處.
[博客]: http://www.aygfsteel.com/bearrui/
[聲明]:本博所有文章版權(quán)歸作者所有(除特殊說明以外),轉(zhuǎn)載請注明出處.