2010-01-23 69 views
4

由于调用run-app在grails中使用tomcat-plugin,当它不存在时,如何修改server.xml中的grails AccessLogValve?从run-app配置Grails访问日志记录

我只需要这个开发,因为在生产中我只会将战争部署到tomcat。

在此先感谢

回答

5

您可以在回调中配置它在脚本中的“ConfigureTomcat”事件/ _Events.groovy:

import org.apache.catalina.valves.AccessLogValve 

eventConfigureTomcat = { tomcat -> 
tomcat.host.addValve new AccessLogValve(
    directory: basedir, prefix: 'localhost_access_log.', pattern: 'common') 
} 
0

我曾在一个开发环境块来包装这个还是我得到了可怕的错误开发之外

这里是我结束了,但我还是不喜欢它,因为

grails run-war -https 

不开心

eventConfigureTomcat = { tomcat -> 
    if (grailsEnv == "development") { 
     tomcat?.host?.addValve new AccessLogValve(
      directory: basedir, 
      prefix: 'localhost_access_log.', 
      suffix: '.log', 
      pattern: 'common') 
    } 
} 

产生这样的:

[unzip] Expanding: foo.war into /Users/tak/.grails/1.3.7/projects/foo/war 
Running Grails application.. 
java.lang.NullPointerException: Cannot set property 'hostname' on null object 
at org.grails.tomcat.TomcatServer.startSecure(TomcatServer.groovy:273) 

悲伤。

+0

Hey Tak!你是否能够成功运行这场战争 – 2011-10-03 12:24:57