2010-10-22 115 views
3

我已經編寫了一個API,目前正在研究爲系統提供日誌記錄的最佳方式。記錄API調用

我們希望能夠對呼叫進行概述,如果特定的呼叫經常被打中等。

簡單地記錄和呈現所有這些信息的最佳方法是什麼?

只是想知道是否有任何預先構建或常用解決方案API包含我正在尋找。

+1

您確定要[登錄]嗎? 3953234#3953234「使用PHP登錄」的方法)那些信息?對我來說,這聽起來像你想[簡介](http://stackoverflow.com/questions/133686/what-is-the-best-way-to-profile-php-code「問:最好的方式來配置PHP」 )和[stresstest](http://stackoverflow.com/questions/2558970/how-to-test-a-site-rigorously/2558996#2558996「問:如何嚴格測試網站」)。 – Gordon 2010-10-22 07:40:12

+0

我們想記錄,所以我們能夠看到某些用戶是否打了太多的電話(是的,我們有速率限制,但仍然很好知道人們是否在濫用)。除了看到大量使用的真正來源,還有多少錯誤正在發生,這些有趣的東西。 – James 2010-10-22 08:09:04

+0

詹姆斯,你有沒有想出一個好的解決方案?我對同樣的問題感興趣。 – kalenjordan 2012-07-30 18:49:30

回答

1

一個簡單的解決方案是將所有調用記錄到文件中,可能採用類似於Apache Web服務器日誌的格式。然後,您可以使用現有的日誌分析工具(例如Webalizer)解析日誌。

0

您提到「預建」解決方案 - 因此您是否考慮過使用外部服務?例如。看看http://www.webservius.com - 它提供了許多不同的API管理功能,並且可以執行各種類型的分析(例如,顯示哪些呼叫最常使用,由哪個用戶等)

+0

不幸的是,最終我們的需求會非常昂貴。 – James 2010-10-22 19:12:09

+0

您可以通過webservius dot com的eugene與我聯繫,瞭解您的確切需求(預期的呼叫量等),並且我們可能會弄清楚。 – 2010-10-22 19:27:06

2

有幾種方法可以去做這個。我首先從抽象日誌解決方案開始,像Monolog [https://github.com/Seldaek/monolog]。通過這種方式,您可以測試並使用您想要登錄的文本文件進行操作,然後轉到更優雅的解決方案。

Monolog有一些不同的連接服務/容器的處理程序。對於API使用日誌記錄,我會看看以下內容:

GrayLog2,一個非常好的開源日誌記錄系統。

Cube,也是一個很好的開源項目,用於收集時間戳事件。

Loggly,這是一個商用的基於雲的記錄平臺。 Monolog現在沒有Loggly的處理程序,但是我寫了一個目前正用於生產的程序。我的Monolog項目的分支中有這個處理程序,我打算很快提交一個請求:Download on Gitub here

Sentry,您可以託管自己或使用付費託管版本的實時事件記錄和聚合平臺。就像Loggly一樣,Monolog中沒有處理程序,但它是一個非常好的項目,它具有漂亮的API,您可以輕鬆編寫一些簡單的代碼進行登錄。