sroze/log-stream

此包最新版本(0.4.5)没有可用的许可信息。

0.4.5 2017-08-27 13:35 UTC

This package is auto-updated.

Last update: 2024-08-29 03:58:08 UTC


README

这是一个 PHP 库,是 LogStream 的客户端。

入门

此库可以作为独立库使用,也可以与 Symfony 集成使用。

独立使用

use GuzzleHttp\Client;
use LogStream\Client\Http\JsonSerializableNormalizer;
use LogStream\Client\HttpClient;
use LogStream\TreeLoggerFactory;

$loggerFactory = new TreeLoggerFactory(
    new HttpClient(
        new Client(),
        new JsonSerializableNormalizer(),
        $address
    )
);

Symfony 集成

该库包含一个 Symfony 扩展包。为了启用它,你只需要将其添加到你的 AppKernel.php 文件中

$bundles = [
    // ...
    new LogStream\LogStreamBundle(),
];

然后,只需添加配置

log_stream:
    url: https://api.logstream.io

配置参考

log_stream:
    # Address of LogStream API
    url: https://api.logstream.io

操作运行器

一个有趣的功能是它与 容错库 的集成:有一个客户端装饰器 OperationRunnerDecorator,它接受一个操作运行器来运行客户端的调用。这样,你可以在实时流出现问题时轻松实现重试功能

use LogStream\Client\FaultTolerance\OperationRunnerDecorator;

use FaultTolerance\OperationRunner\SimpleOperationRunner;
use FaultTolerance\OperationRunner\RetryOperationRunner;
use FaultTolerance\Waiter\SleepWaiter;
use FaultTolerance\WaitStrategy\Exponential;

$runner = new RetryOperationRunner(
    new SimpleOperationRunner(),
    new Max(new Exponential(new SleepWaiter(), 0.1), 10)
);

$client = new OperationRunnerDecorator($client, $operationRunner);