xervice / log-rabbitmq
2.1.0
2019-08-22 13:34 UTC
Requires
- php: >=7.1.0
- xervice/core: ^4.0.0
- xervice/data-provider: ^2.0.0
- xervice/logger: ^2.0.0
- xervice/rabbitmq: ^3.0.0|^4.0.0
Requires (Dev)
This package is auto-updated.
Last update: 2025-02-23 02:36:01 UTC
README
Installation
composer require xervice/log-rabbitmq
Configuration
To use rabbitmq as log provider, you have to define it in the LoggerDependencyProvider and RabbitMQDepoendencyProvider.
<?php namespace App\Logger; use Xervice\Logger\LoggerDependencyProvider as XerviceLoggerDependencyProvider; use Xervice\LogRabbitMq\Business\Log\QueueLogHandler; class LoggerDependencyProvider extends XerviceLoggerDependencyProvider { /** * @return array */ protected function getLogHandler(): array { return [ new QueueLogHandler() ]; } }
<?php namespace App\RabbitMQ; use Xervice\LogRabbitMq\Business\Queue\LogExchange; use Xervice\LogRabbitMq\Business\Queue\LogQueue; use Xervice\RabbitMQ\RabbitMQDependencyProvider as XerviceRabbitMQDependencyProvider; use XerviceTest\LogRabbitMq\Listener\LogListener; class RabbitMQDependencyProvider extends XerviceRabbitMQDependencyProvider { /** * @return array */ protected function getQueues(): array { return [ new LogQueue() ]; } /** * @return array */ protected function getExchanges(): array { return [ new LogExchange() ]; } }
To add LogHandler as Worker you can extend from \Xervice\LogRabbitMq\Business\Queue\AbstractLogQueueListener.
Example
<?php namespace XerviceTest\LogRabbitMq\Listener; use DataProvider\LogMessageDataProvider; use Xervice\LogRabbitMq\Business\Queue\AbstractLogQueueListener; class LogListener extends AbstractLogQueueListener { /** * @param \DataProvider\LogMessageDataProvider $dataProvider */ public function handleLog(LogMessageDataProvider $dataProvider) { echo $dataProvider->getTitle(); } }
Adding to RabbitMQDependencyProvider
<?php namespace App\RabbitMQ; use Xervice\RabbitMQ\RabbitMQDependencyProvider as XerviceRabbitMQDependencyProvider; use XerviceTest\LogRabbitMq\Listener\LogListener; class RabbitMQDependencyProvider extends XerviceRabbitMQDependencyProvider { /** * @return array */ protected function getListener(): array { return [ new LogListener() ]; } }