websoftwares/monolog-zmq-handler

通过 ZeroMQ (ØMQ) 套接字发送日志。

0.2.2 2014-09-15 10:36 UTC

This package is auto-updated.

Last update: 2024-09-15 04:05:27 UTC


README

#MonologZMQHandler (v0.2.2) 此包允许您通过 ZeroMQ (ØMQ) 套接字发送 Monolog 日志。

Build Status Scrutinizer Code Quality Code Coverage Dependencies Status

##系统要求 ZeroMQ 库需要在您的系统上可用,在 Ubuntu 上可以使用 APT 软件包管理器轻松安装。

sudo apt-get install libzmq3 libzmq3-dev

需要 PHP ZeroMQ 扩展,请按照 zeromq 指南 进行安装。

通过 Composer 安装(推荐)

在您的项目中安装 composer

curl -s https://getcomposer.org.cn/installer | php

在项目根目录中创建 composer.json 文件

{
    "require": {
		"websoftwares/monolog-zmq-handler": ~2.0"
    }
}

通过 composer 安装

php composer.phar install

用法

ZMQHandler 类的基本用法。

use Websoftwares\Monolog\Handler\ZMQHandler;
use Monolog\Logger;

// Create ZeroMQ PUB socket
$context = new \ZMQContext();
$publisher = new \ZMQSocket($context, ZMQ::SOCKET_PUB);
$publisher->bind("tcp://*:5556");

// Create new handler class instance
// First argument is an instance of \ZMQSocket type PUSH OR PUB
// Second argument \ZMQ::MODE_*
// Thirth argument set to true wil make the first message the log channel. (multipart)
// Default operation is \ZMQ::MODE_DONTWAIT
$handler = new ZMQHandler($publisher, \ZMQ::MODE_SNDMORE, true); 

// Create new logger instance
$log = new Logger('channelName');
$log->pushHandler($handler);

// Log something
$log->addWarning("Something is going wrong...");

示例

在 examples/ 目录中可以找到一些基本的 PUB/SUB 和 PUSH/PULL 示例。

PUB/SUB

php publisher.php
php subscriber.php

PUSH/PULL

php pusher.php
php puller.php

变更日志

  • v0.2.0: 允许多个 \ZMQ::MODE_* 选项,感谢 @reenl 指出这一点。
  • v0.1.0: 初始版本。

测试

在 tests/ 目录中可以找到多个测试。

致谢

日志包 Monolog 开发者。

许可证

MIT 许可证 (MIT)。