【问题标题】:Configuring Grails Access Logging from run-app从 run-app 配置 Grails 访问日志
【发布时间】:2011-01-08 11:42:45
【问题描述】:

由于调用run-app使用了grails中的tomcat-plugin,那么server.xml中grails AccessLogValve不存在时如何修改?

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

提前致谢

【问题讨论】:

    标签: tomcat logging grails


    【解决方案1】:

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

    import org.apache.catalina.valves.AccessLogValve
    
    eventConfigureTomcat = { tomcat ->
     tomcat.host.addValve new AccessLogValve(
      directory: basedir, prefix: 'localhost_access_log.', pattern: 'common')
    }
    

    【讨论】:

      【解决方案2】:

      我必须将它包装在开发环境块中,否则我在开发之外遇到可怕的错误

      这是我最终的结果,但我仍然不满意,因为

      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)
      

      悲伤。

      【讨论】:

      • 嘿德!!你能成功地进行这场战争吗
      猜你喜欢
      • 1970-01-01
      • 2014-12-06
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      相关资源
      最近更新 更多