2016-01-22 94 views
0

我想保留我服務器拋出的http響應記錄。因此,例如,對於每個服務器請求,我想記錄http響應是1xx響應還是2xx,3xx等。例如,在一天結束時,我希望看到,例如,從1000個請求中,其中2%是5xx服務器錯誤響應。我正在使用laravel框架。如何在Laravel中記錄與http響應相關的數據?

我不想重定向響應,也不改變響應消息。我只是想保留它們的記錄。 我怎麼能做到這一點?我不確定我應該如何介紹我的邏輯。在哪裏攔截最終的迴應?

謝謝您的幫助! :)

+0

會使用「後過濾器」是答案? – FTM

+0

您使用的是什麼版本的laravel? – Jeemusu

+0

你只是想存儲一個計數,沒有其他信息? –

回答

0

看來我有三種選擇。

  1. (在我看來,最好的選擇)正如@ mark-davidson提到的,一種解決方案是使用服務器日誌。
  2. 也可以使用「after」之後的中間件來實現該功能,正如@ peterpan666所述。
  3. 閱讀laravel文檔我剛剛發現了中間件「終結器」,這也可能是一個不錯的選擇,因爲這個中間件只有在發送響應之後才運行。
1

您可以使用「之後」一個全球性的中間件,看到這個https://laravel.com/docs/5.2/middleware#defining-middleware

然後檢查響應

  • 如果它的\Illuminate\Http\Response一個實例,上面有一個status()方法,讓你響應狀態。
  • 如果它不是Response實例,那麼它應該是200 OK狀態。
+0

我有一個「中間件之前」的路線呢?在這些情況下,「後中間件」會捕獲這些響應嗎? – FTM

+0

嗯,這就是中間件的美麗;) – PeterPan666

相關問題