我正在運行一個小web API,並希望包含一些用於調試目的的日誌記錄方法。 Therfor,我想包括http調用返回的信息,如「每小時api調用」,「成功調用vs不必要的調用」等。跟蹤對java servlet的調用
我搜索了互聯網,但沒有找到關於該主題的大量信息。任何人都可以爲我提供一個很好的來源或策略嗎?
我正在運行一個小web API,並希望包含一些用於調試目的的日誌記錄方法。 Therfor,我想包括http調用返回的信息,如「每小時api調用」,「成功調用vs不必要的調用」等。跟蹤對java servlet的調用
我搜索了互聯網,但沒有找到關於該主題的大量信息。任何人都可以爲我提供一個很好的來源或策略嗎?
您可以使用servlet過濾器來記錄統計信息。 Here's an example。
提供的鏈接有兩個問題:1)它沒有爲每個支持多線程的servlet實例(或URL)提供計數器。 2)要衡量實時性能,您必須使用'System.nanoTime'而不是'System.currentTimeMillis',因爲前者更準確。 –
謝謝。這個鏈接似乎是一個真正有用的腳手架。 – danijoo
你可以用'Filter'和自定義計數器/監視器來實現這個。 –
@SotiriosDelimanolis我不會輕易就這個。雖然'Filter'會在流程鏈中的servlet之前出現,但計數器不易維護,請記住過濾器和servlet都用於多線程環境。更多信息:[servlets如何工作?實例化,會話變量和多線程](http://stackoverflow.com/q/3106452/1065197)。 –
@LuiggiMendoza是的。這絕非易事。對於OP,這種類型的數據在[OAM](http://en.wikipedia.org/wiki/Operations,_administration_and_management)中很有用。你可以維護(有所有同步的問題)內存中的計數器(壞)或者在數據庫中執行它並讓它處理它。 –