记录API调用

时间:2010-10-22 05:29:32

标签: php api

我编写了一个API,目前正在研究为系统提供日志记录的最佳方法。

我们希望能够概述正在进行的通话,如果特定通话经常受到影响等等。

简单地记录和显示所有这些信息的最佳方法是什么?

简单地想知道是否有任何预先构建或常用的解决方案,其API包含我正在寻找的内容。

4 个答案:

答案 0 :(得分:2)

有几种方法可以做到这一点。我首先从一个抽象的日志记录解决方案开始,比如Monolog [https://github.com/Seldaek/monolog]。通过这种方式,您可以测试和播放您想要登录文本文件的内容,然后转到更优雅的解决方案。

Monolog拥有一系列不同的连接服务/容器的处理程序。对于API使用日志记录,我将查看以下内容:

GrayLog2,一个非常好的开源日志记录系统。

Cube,也是收集时间戳事件的一个很好的开源项目。

Loggly,一个商业的基于云的日志记录平台。 Monolog现在没有Loggly的处理程序,但是我写了一篇我正在制作中使用的程序。我的Monolog项目的分支中有这个处理程序,我计划很快提交一个拉取请求:Download on Gitub here

Sentry,一个实时事件记录和聚合平台,您可以自己托管或使用付费托管版本。像Loggly一样,Monolog中没有处理程序,但它是一个非常好的项目,有一个很好的API,你可以轻松编写一些简单的代码来登录。

答案 1 :(得分:1)

一个简单的解决方案是记录对文件的所有调用,可能采用类似于Apache Web服务器日志的格式。然后,您可以使用现有的日志分析工具解析日志,例如Webalizer。

答案 2 :(得分:0)

您提到“预建”解决方案 - 您是否考虑过使用外部服务?例如。看看http://www.webservius.com - 它提供了许多不同的API管理功能,可以进行各种类型的分析(例如,显示最常用的呼叫,用户等等)

答案 3 :(得分:0)

考虑方法日志是一个流

<块引用>

日志是一个流,每个人都应该这样对待它们。您的程序应该记录到 stdout 和/或 stderr 并省略任何处理日志路径、日志轮换或通过 syslog 协议发送日志的尝试。程序日志流的指向可以由运行时容器决定:本地终端或 IDE(在开发环境中)、Upstart / Systemd 启动脚本(在传统托管环境中)或像 Logplex/Heroku 这样的系统(在一个平台环境)。

(我在这个answer中注意到了它,它最初来自这个article

@Emil Vikström 的回答中标明了好东西,需要注意的是,是一种格式来简化解析和分析。