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就可以了 |

