使用xsbt-web-plugin请求Jetty容器的登录控制台



我正在使用xsbt-web-plugin开发一个web服务。

为了更容易调试,我想在控制台打开请求日志,如下所示。

[22/Dez/2012:15:29:56 +0000] "GET/messages HTTP/1.1" 200 27276

在生产中,我使用NCSARequestLog这很好,但在开发中,我想在我的sbt console中包括日志,我通过container:start/

启动容器

如何启用请求日志?

要启用请求日志,您可以通过自定义jetty.xml文件配置NCSARequestLog

添加到build.sbt:

env in Compile := Some(file(".") / "jetty-env.xml" asFile)

创建 myproject/jetty-env.xml :

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="handler">
    <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
      <Set name="requestLog">
        <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
          <Set name="filename"><Property name="jetty.logs" default="./logs"/>/test-yyyy_mm_dd.request.log</Set>
          <Set name="filenameDateFormat">yyyy_MM_dd</Set>
          <Set name="LogTimeZone">GMT</Set>
          <Set name="retainDays">90</Set>
          <Set name="append">true</Set>
        </New>
      </Set>
    </New>
  </Set>
</Configure>

在静默状态下,运行container:start,您将看到在myproject/logs下收集的请求日志。当我进行测试时,Jetty不会自己创建logs目录——我必须自己创建。

您可以使用tail实时查看请求日志:

tail -f myproject/logs/test-2013_08_23.request.log

一个完整的示例,请参见xwp-template的request-logging分支。

相关内容

  • 没有找到相关文章

最新更新