Настройка Grails Access Logging из run-app - PullRequest
5 голосов
/ 23 января 2010

Поскольку вызов run-app использует tomcat-plugin в Grails, как мне изменить Grails AccessLogValve в server.xml, когда он не существует?

Мне это нужно только для разработки, так как в производственном процессе я просто разверну войну для кота.

Заранее спасибо

Ответы [ 2 ]

6 голосов
/ 26 января 2010

Вы можете настроить его в обратном вызове для события 'ConfigureTomcat' в scripts / _Events.groovy:

import org.apache.catalina.valves.AccessLogValve

eventConfigureTomcat = { tomcat ->
 tomcat.host.addValve new AccessLogValve(
  directory: basedir, prefix: 'localhost_access_log.', pattern: 'common')
}
0 голосов
/ 20 сентября 2011

Мне пришлось обернуть это в блок среды разработки, или я получил ужасные ошибки вне dev

Вот что я закончил, но я все еще не доволен этим, как

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)

печаль.

...