posts - 36, comments - 419, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Grails 中log4j日志的配置

Posted on 2009-03-16 14:13 BearRui(AK-47) 阅读(3560) 评论(0)  编辑  收藏 所属分类: Grails
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
 }



[作者]:BearRui(AK-47)
[博客]: http://www.blogjava.net/bearrui/
[声明]:本博所有文章版权归作者所有(除特殊说明以外),转载请注明出处.
英雄,别走啊,帮哥评论下:  

精彩推荐 好文要顶 水平一般 看不懂 还需努力

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问