一般动作
登录
Wiki: BROPEN ▼: Document Index
»
Space: FAQ ▼: Document Index
»
Page: 如何配置日志（log4j）
搜索
zh
页面动作
导出 ▼: 以PDF格式导出 以RTF格式导出 以HTML格式导出
更多动作 ▼: 打印预览 察看源码
欢迎进入Wiki » FAQ » 如何配置日志（log4j）?

# 如何配置日志（log4j）?

在2013-12-03 14:14上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

grails 使用 log4j 作为日志组件，

安装了 BroToolkit 后，所有日志会输出到 "logs/工程名_out.log" 和 "logs/工程名_err.log" （stacktrace日志）中，每个日志的文件大小限制为20M，超出限制后自动备份，其中 out 日志最多 200 个备份、err 日志最多 100 个备份。此外，默认配置了一些包的日志等级，如 bropen、grails、org.hibernate 等。

安装了 BroFramework 后，每条日志输出中，会自动记录当前用户名和IP地址，便于分析。

如果默认配置无法满足日志要求的话，可以在工程的 Config.groovy 中进行个性设置。

扩展默认设置，添加日志级别规则

// 注意这里是 log4j.Xxxx
log4j.app = {
// 启动时打印 ehcache 的配置文件信息
debug 'grails.plugin.cache.ehcache.EhcacheConfigLoader'
// 打印超时任务的trace日志
trace 'grails.app.jobs.bropen.bpm.ExecuteTimeoutTaskJob'
}

覆盖 appenders

log4j.app = {
String appName = delegate.config.grails.project.groupId
appenders {
// 每个日志设为最大 100M，其他配置和默认配置保持一致
console name:"stdout", layout:pattern(conversionPattern: '%d{HH:mm:ss,SSS} [%x] [%t] [%p %c] - %m%n')
rollingFile name:"R", file:"logs/${appName}_out.log", maxFileSize:'100MB', maxBackupIndex:'200', layout:pattern(conversionPattern:'[%x] %d [%r] [%t] [%p %c] - %m%n')
rollingFile name:"stacktrace", file:"logs/${appName}_err.log", maxFileSize:'100MB', maxBackupIndex:'100', layout:pattern(conversionPattern:'[%x] %d [%r] [%t] [%p %c] - %m%n')
}
}

完全覆盖默认设置

log4j = {
....
}
// 或者 log4j.default = {....}

系统运行过程中动态设置日志级别

目前暂时没有提供界面设置方式，但是可以用管理员登录后，在开发者工具的调试控制台中动态设置日志级别，如执行下面的代码：

// 打印 Hibernate 的 sql
org.apache.log4j.Logger.getLogger("org.hibernate.SQL").level = org.apache.log4j.Level.DEBUG;
标签： grails BroToolkit BroFramework 日志
在2013-12-03 14:14上被李小翔创建

- 评论 （0）
- 附件 （0）
- 记录
- 信息

# 快速链接

- 首页
- 新闻动态
- FAQ

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号