sroze / log-stream
此包最新版本(0.4.5)没有可用的许可信息。
0.4.5
2017-08-27 13:35 UTC
Requires
- predis/predis: ~1.0
- symfony/serializer: ^2.8|^3.0
- tolerance/tolerance: ^0.4.0
Requires (Dev)
- behat/behat: ^3.0
- behat/symfony2-extension: ^2.1
- phpspec/phpspec: ~4.0
- symfony/config: ^2.8|~3.0
- symfony/dependency-injection: ^2.8|~3.0
- symfony/http-kernel: ^2.8|~3.0
Suggests
- sroze/tolerance: To handle fault tolerant LogStream
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);