我在登录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:非常感谢例子。
答案 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