1

我在登录 Grails 时遇到问题。如何将日志写入文件?另外我希望不同级别的日志进入不同的文件?

还有生产和开发日志的设置吗?例如,如果我在开发中运行项目,没有 catalina.out,那么日志文件会去哪里?

例子:

log.info "I am working fine look: ..."

我想进入的信息让我们说 info.log

log.error "Bad coding results in: ..."

错误我想进入标准 Tomcat 日志:catalina.out

log.debug "Debugging is a pain: ..."
log.fatal "Just died because..."

其余的日志级别我想进入fine.log

非常感谢你。

PS:示例将不胜感激。

4

1 回答 1

4

它(相对)简单。您需要首先设置日志级别,然后激活它,然后写入它。所以标准是日志级别错误是打开的,所以使用 log.error "" 编写的任何内容都会向标准输出发送消息(如果您没有更改附加程序的行为)

如果您希望应用程序显示错误、警告和信息但不调试,以下是更改。

在 log4j 下的 Config.groovy 中,让我们更改附加程序以告诉我们谁在说话(有点像其他人的设置

appenders {
    console name:'stdout', layout:pattern(conversionPattern: '%d{[dd.MM.yy HH:mm:ss.SSS]} %-5p %c %x - %m%n')
}

然后我们将应用程序的日志级别更改为“信息”(因此将为我们的应用程序编写错误、警告和信息),在错误之前的附加程序之后添加该行

info 'grails.app'

最后,让我们尝试一些代码,所以在任何控制器或类似的控制器中,添加以下三行

 log.debug "First piggy wrote to Debug"
 log.info "Second piggy wrote to Info"
 log.error "And the third piggy wrote to Error"

我的控制台说:

[22.10.13 10:37:43.446] INFO  grails.app.controllers.crmapper.CrMapperController  - Second piggy wrote to Info
[22.10.13 10:37:43.446] ERROR grails.app.controllers.crmapper.CrMapperController  - And the third piggy wrote to Error
于 2013-10-22T09:40:57.933 回答