我有意將所有Rails應用程序日誌記錄發送到數據庫(MySQL或MongoDB),作爲日誌文件的補充或替代。有幾個原因,其中大部分都是關於日誌文件分析的。我們已經使用Google Analytics(分析),但是我們想要做的事情有很多,但在Google Analytics中不可行。登錄到數據庫而不是日誌文件
此外,我想通過看日誌做的問題「實時」的調查。篩選日誌文件是一種乏味的方式,我想要比日誌文件(容易)更好地進行搜索和篩選。
最後,我經常想要檢查一些更接近站點訪問者行爲的事情:例如通過站點追蹤路徑,以便我可以查看錯誤發生前用戶正在查看的最後一頁。鑑於我們有多個應用程序服務器,單獨的日誌文件使這成爲一個真正的痛苦。如果所有數據都在數據庫中,那麼我可以很容易地看到給定訪問者正確的頁面順序。我知道Syslog是解決這個問題的唯一方法(單個日誌文件/存儲庫),但我想將它與我與數據庫搜索相關的更好的搜索能力結合起來。
我想知道什麼樣的人推薦解決這個問題。您是直接登錄到數據庫還是將日誌文件轉儲到數據庫中(但是您的方法是什麼,以便它本質上是實時/最新的日誌文件本身)?
我目前正在確定什麼級別,我想這個日誌記錄,因爲我看的另一件事是寫一個小的機架過濾器,將記錄所有請求。這會錯過正常的Rails日誌輸出的所有額外輸出(所有SQL和輸出緩存命中和未命中等),但它會實現我目標的很大一部分,並且似乎具有不會干擾的優點系統中的其他任何東西。
無論如何,我不是在尋找一個正確的答案,更多的是關於其他人可能在這個相同的光線下做什麼的討論和信息。
只是好奇,Rails應用程序日誌有什麼特別之處?它是否像Web訪問日誌註冊請求?或者它是你的真正的應用程序邏輯? – Dima 2009-07-21 21:07:57
請參閱下面的評論:我對應用程序級日誌更感興趣,但並不完全需要,但我也不想記錄Web服務器提供的靜態文件(圖像,CSS等)。 我們使用Hoptoad進行異常記錄/通知,這是一個很好的解決方案。 我的問題實際上是對任何其他人實施的解決此類或類似需求的請求/調查。 – chrisrbailey 2009-07-23 16:31:32
作爲對此的更新,最近我一直在嘗試Papertrail。他們有一個非常簡單的設置來實時獲取你的日誌文件(Rails,Nginx或任何類型的日誌文件)到他們的系統中,然後全文搜索。它看起來很有希望。他們仍然處於私人測試階段,但很有希望。 Loggly也有潛力,但我發現它很慢,並且我無法正確地獲取多行日誌消息(可能只是我做錯了事,但我也沒有在他們的支持論壇上回答) 。 Graylog2和logstash也是可能的。 – chrisrbailey 2011-02-20 23:47:48