1

私は本番環境でJettyAccessLogsを有効にしましたが、今日まで順調に進んでいました。現在、サービス自体は問題なく実行されていますが、アクセスログはデータを取得していないようです。「retainDays」プロパティについて理解できないことがあると思います。これは、ロギングを設定するetc/jetty.xmlからの抜粋です...

<!-- Built-in Jetty AccessLog log -->
<Ref id="AccessLog">
  <Set name="requestLog">
    <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
      <Arg><SystemProperty name="jetty.logs" default="/data/logs"/>/dm-app1_access.log</Arg>
      <Set name="retainDays">7</Set>
      <Set name="append">true</Set>
      <Set name="extended">false</Set>
      <Set name="logLatency">true</Set>
      <Set name="LogTimeZone">GMT</Set>
    </New>
  </Set>
</Ref>

この子がretainDays値に達したときに、ロギングが停止したように見えるのはなぜですか?切り捨てて/data/logs/dm-app1_access.logへのログ記録を続行することを期待していました。

4

1 に答える 1

1

ファイル名に「yyyy_mm_dd」プレースホルダーが含まれていなかったため、ロギングが停止しました。ログファイルの命名形式で完全に機能することがわかった構成は、ログバック RollingFileAppenders の進行状況と同様です...

<!-- Built-in Jetty AccessLog log -->
<Ref id="AccessLog">
  <Set name="requestLog">
    <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
      <Set name="filename"><SystemProperty name="jetty.logs" default="./logs"/>/access.yyyy_mm_dd.log</Set>
      <Set name="filenameDateFormat">yyyyMMdd</Set>
      <Set name="retainDays">3</Set>
      <Set name="append">true</Set>
      <Set name="extended">false</Set>
      <Set name="logLatency">true</Set>
      <Set name="LogTimeZone">GMT</Set>
    </New>
  </Set>
</Ref>

...これは、logs/access.20120718.log のように作成されたアクセス ログファイルを取得します。「filename」プロパティの「yyyy_mm_dd」は、「filenameDateFormat」プロパティに含まれる実際の SimpleDateFormat の単なるプレースホルダーであることがわかったとき、大きな学習の瞬間が訪れました。

于 2012-07-19T00:02:10.040 に答える