2010-07-15 65 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