Jetty 8记录详细程度

时间:2016-01-14 22:02:11

标签: logging jetty

我正在尝试将Jetty服务器详细级别从Info更改为Debug。

这是当前设置的jetty-logging.xml文件:

<Configure id="Server" class="org.eclipse.jetty.server.Server">

<New id="ServerLog" class="java.io.PrintStream">
  <Arg>
    <New class="org.eclipse.jetty.util.RolloverFileOutputStream">
      <Arg><Property name="jetty.logs" default="./logs"/>/yyyy_mm_dd.stderrout.log</Arg>
      <Arg type="boolean">false</Arg>
      <Arg type="int">90</Arg>
      <Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg>
      <Get id="ServerLogName" name="datedFilename"/>
    </New>
  </Arg>
</New>

<!--     
<Call class="org.eclipse.jetty.util.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call> -->
<Call class="org.eclipse.jetty.util.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call>

<Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call>
<Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call>

</Configure>

怎么做?

1 个答案:

答案 0 :(得分:2)

Jetty 8是记录控件的过渡期。

直到发布周期的最后阶段才有可能实现。

文件etc/jetty-logging.xml与日志记录层完全无关,它只是一种方便的技术,用于捕获日志记录层输出并将其重定向到文件。

  

Jetty始于1995年,它的日志记录层比所有其他java日志记录库和技术早了至少5年!

要控制日志层向STDERR发出的方式/内容,您需要操作该层,即StdErrLog实现。

此类操作通过系统属性部分可用(在Jetty 8中)。

尝试在启动Jetty的Java VM上使用-Dorg.eclipse.jetty.LEVEL=DEBUG System属性。

如果您发现日志记录级别没有变化,那么您的Jetty对于该功能来说太旧了。您需要升级或尝试将Jetty配置为使用Slf4jLog而不是StdErrLog,然后使用slf4j技术配置记录所有内容(请务必禁用etc/jetty-logging.xml如果您使用slf4j!否则您将度过糟糕的一周)