Grails将不同级别的日志写入文件

时间:2012-09-20 01:45:10

标签: grails logging

我在登录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

非常感谢。

P.S:非常感谢例子。

1 个答案:

答案 0 :(得分:4)

(相对)简单。您需要先设置日志级别,然后激活它,然后写入它。 所以标准是日志级别ERROR打开,所以使用log.error“”编写的任何内容都会向stdout发送一个meesage(如果你没有更改appender行为)

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

在log4j下的Config.groovy中,让我们更改appenders告诉我们谁在说话(有人对其他人的设置超级充电

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

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

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