Link Search Menu Expand Document

支持Enqueue

Enqueue 是一个 MIT 许可的开源项目,它的持续开发完全得益于社区和我们客户的支持。如果您想加入他们,请考虑:


Enqueue Monolog 处理器

该包为 Monolog 提供了处理器。 这些处理器允许使用任何 queue-interop 兼容的传输将日志发送到 MQ 。

安装

您必须先安装 monolog 本身、队列交互处理器和传输之一。 为简单起见,我们将安装基于 MQ 的文件系统。

$ composer require enqueue/monolog-queue-handler monolog/monolog enqueue/fs

用例

<?php

use Monolog\Handler\QueueInteropHandler;
use Monolog\Logger;

require_once __DIR__.'/vendor/autoload.php';

$context = (new \Enqueue\Fs\FsConnectionFactory('file://'.__DIR__.'/queue'))->createContext();

// 创建一个日志频道
$log = new Logger('name');
$log->pushHandler(new QueueInteropHandler($context));

// 添加记录到日志
$log->warning('Foo');
$log->error('Bar');

消费者可能看起来像这样:

<?php

use Enqueue\Consumption\QueueConsumer;
use Interop\Queue\Message;
use Interop\Queue\Processor;

require_once __DIR__.'/vendor/autoload.php';

$context = (new \Enqueue\Fs\FsConnectionFactory('file://'.__DIR__.'/queue'))->createContext();

$consumer = new QueueConsumer($context);
$consumer->bindCallback('log', function(Message $message) {
    echo $message->getBody().PHP_EOL;

    return Processor::ACK;
});

$consumer->consume();

返回首页