2010-07-15 69 views
2

我正在使用應用程序引擎java。我有興趣收集一些分析數據,但這很困難,因爲我需要爲我感興趣的所有信息製作數據存儲類 - 這會削弱我們的100個索引配額,並且會給我的項目帶來額外的複雜性。使用日誌生成分析?

我正在通過dev論壇閱讀,一位app引擎項目成員建議使用日誌記錄數據,然後下載給定日期的所有日誌,並在本地解析它以執行我們的分析。我想知道是否有其他人有這方面的經驗?我有興趣在做這樣的事情:

import java.util.logging.Logger; 

public class MyServlet extends HttpServlet { 

    public void doGet(HttpServletRequest req, HttpServletResponse resp) { 
     log.info("Serving page '/example/farm'"); 

     Farm farm = null; 
     try { 
      farm = datastore.getFarm(); 
      log.info("Got farm ok."); 
     } catch (Exception ex) { 
      log.info("No farm found!"); 
     }          
    } 
} 

,如果我每天下載的日誌,我可以分析它,並計算的次數#「的服務頁面...」消息,並得到一個想法該頁面被提供多少次。從其他消息中查找請求的Farm的成功率或失敗率相同。這是否合理?我不確定使用日誌有多慢,或者如果我最好手動將這些統計信息存儲在數據存儲中。

另一個問題是,如果這個頁面一天發生數千次,日誌文件可能是巨大的,不可能下載等?

謝謝

+0

您是否在談論下載請求日誌或調試日誌信息? – 2010-07-19 13:12:53

回答

1

我之前已經完成了這種內部分析,並且我總是在任務隊列上產生事件以將信息記錄在數據存儲中。它運行良好,因爲您可以在應用程序內部構建自定義分析工具,並通過瀏覽器從任何地方訪問它們。

通過切換到付費帳戶,可以很容易地克服對索引的100限制。你可能會發現你會留在免費配額中,而不是實際支付任何費用,但它會給你更多的索引。

順便說一下,Google Analytics策略是一個很有趣的策略。您可以簡單地使用urlfetch()或在各種僅限管理的URL上創建任務隊列事件。然後使用分析來查看這些網頁觸及了多少次。

+0

「在應用程序內部構建自定義分析工具」是他的目標?或者他只是想在他的應用中添加一項功能。 – Manjoor 2010-07-16 10:05:33

0

有第三方服務可用於此目的。你可以在你的應用程序中使用它們。我不能建議你把它當做你自己的。退房Google Analytics

+0

但我認爲谷歌分析主要用於跟蹤頁面展示信息?我們可以用它來記錄任意數據嗎? – user246114 2010-07-15 12:33:42

+0

你需要什麼具體的東西? – Manjoor 2010-07-16 10:03:03