理解/理解-单次对话

Understand.io Monolog 包。

v1.0.0 2015-10-27 07:55 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:49:23 UTC


README

Build Status Latest Stable Version Latest Unstable Version License HHVM Status Scrutinizer Code Quality

简介

本包提供了一个 Monolog 处理器和格式化程序,用于将日志数据发送到 Understand.io

您可能还对我们的 Laravel 4Laravel 5Laravel Lumen 服务提供者处理程序感兴趣。

快速入门

  1. 安装包
composer require understand/understand-monolog
  1. 将 Understand 处理器添加到 Monolog
use Monolog\Logger;

// input token from Understand.io
$inputToken = 'ab1cd234-1234-45e6-789f-gh1fa1234567';

// choose a handler, either async or sync (see below)
$understandAsyncHandler = new UnderstandMonolog\Handler\UnderstandAsyncHandler($inputToken); // async handler
$understandSyncHandler = new UnderstandMonolog\Handler\UnderstandSyncHandler($inputToken); // sync handler

$monologLogger = new Logger('name');
$monologLogger->pushHandler($understandAsyncHandler); // or $understandSyncHandler

$monologLogger->addError('first error');

处理器

UnderstandSyncHandler

同步处理器使用 PHP Curl 扩展,并将日志同步发送到 Understand.io。这意味着如果您的应用程序生成大量数据,可能会减慢您的应用程序。

UnderstandAsyncHandler

我们建议尽可能使用 async 处理器。它在大多数系统中都受支持 - 唯一的要求是 CURL 命令行工具已安装且正常工作。要检查您的系统上是否有 CURL,请在您的控制台中执行以下命令

curl -h

如果您看到有关如何使用 CURL 的说明,则您的系统已安装 CURL 二进制文件,您可以使用异步处理器。

异常编码器

这个辅助类允许您将 PHP 异常序列化为数组,然后可以将其序列化为 json。这样做的主要好处是 Understand 将能够更智能地解析您的日志,从而提供更好的搜索和筛选功能。

$exception = new \DomainException('This is Exception', 123);

$encoder = new \UnderstandMonolog\Encoder\ExceptionEncoder();
$array = $encoder->exceptionToArray($exception);

print_r($array);exit;

//Array
//(
//    [message] => This is Exception
//    [class] => DomainException
//    [code] => 123
//    [file] => /home/vagrant/share/understand-lumen-test/app/Exceptions/Handler.php
//    [line] => 30
//    [stack] => Array
//        (
//            [0] => Array
//                (
//                    [class] => App\Exceptions\Handler
//                    [function] => report
//                    [args] => Array
//                        (
//                            [0] => DomainException
//                        )
//
//                    [type] => method
//                    [file] => /home/vagrant/share/understand-lumen-test/vendor/laravel/lumen-framework/src/Application.php
//                    [line] => 354
// .......... and more

如何使用异常编码器

use Monolog\Logger;

// input token from Understand.io
$inputToken = 'ab1cd234-1234-45e6-789f-gh1fa1234567';

// choose a handler
$understandAsyncHandler = new UnderstandMonolog\Handler\UnderstandAsyncHandler($inputToken); // async handler

$monologLogger = new Logger('name');
$monologLogger->pushHandler($understandAsyncHandler);

$exception = new \DomainException('This is Exception', 123);

$encoder = new UnderstandMonolog\Encoder\ExceptionEncoder();
$context = $encoder->exceptionToArray($exception);

$monologLogger->addError($exception->getMessage(), $context);

许可证

Understand.io Monolog 包是开源软件,许可证为 MIT 许可证