我已經啓用了Jetty Access生產日誌,事情進展順利,直到今天。今天,訪問日誌似乎不再需要數據,即使服務本身沒有運行。我懷疑有些事情我不明白「retainDays」屬性。下面是從等/,設置了日誌摘錄的jetty.xml ...jetty access.log不再記錄
<!-- 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。
這是一種Jetty文檔失敗。 http://wiki.eclipse.org/Jetty/Tutorial/RequestLog沒有明確retainDays和「yyyy_mm_dd」之間的關係。如果您閱讀了NCSARequestLog.java和RolloverFileOutputStream的JavaDoc的源代碼,就會發現字符串「yyyy_mm_dd」需要獲取像rollover一樣的內容。看起來你完全可以改變它。啊。 – 2012-07-17 19:10:49
我們就如何改善這兩種情況提出了補丁和建議:) – 2012-07-17 19:24:04
我的建議是該訪問日誌應該與logback的RollingFileAppender完全相同。這將允許我尾巴固定的文件名和記錄機制將處理翻轉。花了4個小時,源代碼深入瞭解,'yyyy_mm_dd'僅僅是RolloverFileOutputStream.setFile()中應用的實際SimpleDateFormat值的佔位符。最不驚奇的原則是,這次冒險不是。 –
2012-07-18 17:57:15