[Grails] Grails1.0.1版本中Log4j应该怎么配置

yinyue1986 2008-04-21
刚刚接触Groovy Grails,在学习中碰到个困难,请各位帮忙查看解决下,:D !
在config.groovy文件中配置,把日志输出后,可以任意控制文件大小,同时把握在程序供捕捉到的错误和定义的信息也输出,应该怎么改?
// log4j configuration
log4j {
    appender.stdout = "org.apache.log4j.ConsoleAppender"
    appender.'stdout.layout'="org.apache.log4j.PatternLayout"
    appender.'stdout.layout.ConversionPattern'='%d %p [%c] - <%m>%n'
    appender.errors = "org.apache.log4j.FileAppender"
    appender.'errors.layout'="org.apache.log4j.PatternLayout"
    appender.'errors.layout.ConversionPattern'='%d %p [%c] - <%m>%n'
    appender.'errors.File'="stacktrace.log"
    rootLogger="error,stdout"
    logger {
        grails="error"
        StackTrace="error,errors"
        org {
            codehaus.groovy.grails.web.servlet="error"  //  controllers
            codehaus.groovy.grails.web.pages="error" //  GSP
            codehaus.groovy.grails.web.sitemesh="error" //  layouts
            codehaus.groovy.grails."web.mapping.filter"="error" // URL mapping
            codehaus.groovy.grails."web.mapping"="error" // URL mapping
            codehaus.groovy.grails.commons="info" // core / classloading
            codehaus.groovy.grails.plugins="error" // plugins
            codehaus.groovy.grails.orm.hibernate="error" // hibernate integration
            springframework="off"
            hibernate="off"
        }
    }
    additivity.StackTrace=false
}



在程序中的抛出:

Logger logger = Logger.getLogger(UserController.class.getName()) 

 logger.info("UserController开始")


try {}catch(Exception e){logger.error("出现异:",e)}


如果我要实现我的目的,是不是改下StackTrace="error,errors"为StackTrace="info,errors"就可以实现了?
yinyue1986 2008-04-21
还有就是,控制日志文件的大小,就像在log4j.properties文件中:
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File= D:\\stacktrace.log
# Control the maximum log file size 
log4j.appender.R.MaxFileSize=100KB 
# Archive log files (one backup file here) 
log4j.appender.R.MaxBackupIndex=1 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 

在config.groovy改怎么改写啊?
agile_boy 2008-04-21
yinyue1986 写道
还有就是,控制日志文件的大小,就像在log4j.properties文件中:
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File= D:\\stacktrace.log
# Control the maximum log file size 
log4j.appender.R.MaxFileSize=100KB 
# Archive log files (one backup file here) 
log4j.appender.R.MaxBackupIndex=1 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 

在config.groovy改怎么改写啊?

只需要将log4j.去掉,放到Config.groovy的log4j {
下边就可以了。
agile_boy 2008-04-21
yinyue1986 写道
刚刚接触Groovy Grails,在学习中碰到个困难,请各位帮忙查看解决下,:D !
在config.groovy文件中配置,把日志输出后,可以任意控制文件大小,同时把握在程序供捕捉到的错误和定义的信息也输出,应该怎么改?
// log4j configuration
log4j {
    appender.stdout = "org.apache.log4j.ConsoleAppender"
    appender.'stdout.layout'="org.apache.log4j.PatternLayout"
    appender.'stdout.layout.ConversionPattern'='%d %p [%c] - <%m>%n'
    appender.errors = "org.apache.log4j.FileAppender"
    appender.'errors.layout'="org.apache.log4j.PatternLayout"
    appender.'errors.layout.ConversionPattern'='%d %p [%c] - <%m>%n'
    appender.'errors.File'="stacktrace.log"
    rootLogger="error,stdout"
    logger {
        grails="error"
        StackTrace="error,errors"
        org {
            codehaus.groovy.grails.web.servlet="error"  //  controllers
            codehaus.groovy.grails.web.pages="error" //  GSP
            codehaus.groovy.grails.web.sitemesh="error" //  layouts
            codehaus.groovy.grails."web.mapping.filter"="error" // URL mapping
            codehaus.groovy.grails."web.mapping"="error" // URL mapping
            codehaus.groovy.grails.commons="info" // core / classloading
            codehaus.groovy.grails.plugins="error" // plugins
            codehaus.groovy.grails.orm.hibernate="error" // hibernate integration
            springframework="off"
            hibernate="off"
        }
    }
    additivity.StackTrace=false
}



在程序中的抛出:

Logger logger = Logger.getLogger(UserController.class.getName()) 

 logger.info("UserController开始")


try {}catch(Exception e){logger.error("出现异:",e)}


如果我要实现我的目的,是不是改下StackTrace="error,errors"为StackTrace="info,errors"就可以实现了?

在controller中使用log不需要Logger logger = Logger.getLogger(UserController.class.getName())
直接log.info就可以了
Global site tag (gtag.js) - Google Analytics