ss89/errormator-client

errormator.com客户端库

dev-master 2013-08-10 09:02 UTC

This package is not auto-updated.

Last update: 2024-09-28 13:30:46 UTC


README

errormator.com的PHP客户端 - 帮助您跟踪Web和CLI应用程序中的错误

您可以通过以下方式轻松地将php-errormator-client添加到您的PHP应用程序中:

require 'ErrormatorClient\ErrormatorClient.php';
$opts = array("apiKey" => $api_key); // where $api_key == YOUR API KEY
$client = new ErrormatorClient\ErrormatorClient($opts);

如果您想发送慢速报告,数据结构如下所示

$data = array(
        array(
            "url" => "http://127.0.0.1/errormator-test",
            "server" => "127.0.0.1",
            "report_details" => array(
                array(
                    "start_time" => date("Y-m-d\TH:i:s.u"),
                    "end_time" => date("Y-m-d\TH:i:s.u"),
                    "username" => "myUserName",
                    "url" => "http://127.0.0.1/errormator-test-url",
                    "ip" => "127.0.0.1",
                    "user_agent" => "Firefox 1",
                    "message" => "my custom message",
                    "request" => array("field1" => "value1", "field2" => "value2"),
                    "slow_calls" => array(
                        array(
                            "duration" => "11.1234",
                            "timestamp" => date("Y-m-d\TH:i:s.u"),
                            "type" => "sql",
                            "subtype" => "mysql",
                            "parameters" => array("param1", "param2", "param3"),
                            "statement" => "select * from mytable"
                        )
                    )
                )
            )
        )
    );
$client->slow($data);

请注意,您可以通过将另一个数组添加到第一个数组中来在一次请求中发送多个报告。

如果您想发送错误报告,数据结构如下所示

$data = array(
        array(
            "traceback" => "my traceback as string",
            "priority" => 1,
            "error_type" => "OMG ValueError happened",
            "occurences" => 2,
            "http_status" => 500,
            "errormator.client" => "php",
            "errormator.client" => "php",
            "server" => "127.0.0.1",
            "report_details" => array(
                array(
                    "start_time" => date("Y-m-d\TH:i:s.u"),
                    "username" => "myUserName",
                    "url" => "http://127.0.0.1/errormator-test-url",
                    "ip" => "127.0.0.1",
                    "user_agent" => "Firefox blah",
                    "message" => "my custom message",
                    "request" => array(
                        "REQUEST_METHOD" => "GET", 
                        "PATH_INFO" => "/FOO/BAR", 
                        "POST" => array(
                            "field1" => "value1"
                        )
                    ),
                )
            )
        )
    );
$client->error($data);

当然,发送多个报告时也适用同样的规则,您只需在第一个数组中添加另一个数组即可。

如果您想发送日志,数据结构如下所示

$data =
            array(
                array(
                    "log_level" => "INFO",
                    "message" => "OMG ValueINFO happened",
                    "name" => "php.namespace.indicator",
                    "server" => "127.0.0.1",
                ),
                array(
                    "log_level" => "WARN",
                    "message" => "OMG ValueWARN happened",
                    "name" => "php.namespace.indicator",
                    "server" => "127.0.0.1",
                ),
                array(
                    "log_level" => "ERROR",
                    "message" => "OMG ValueERROR happened",
                    "name" => "php.namespace.indicator",
                    "server" => "127.0.0.1",
                )
            );
$client->log($data);

在这里您已经可以看到如何发送多个日志

使用cakePHP?请尝试在子文件夹cakePHP中的AppError和AppLog类。以下是设置方法 cakePHP设置错误处理器

未使用框架?欢迎您查看noFramework\example.php和noFramework\example2.php :)