keboola/gelf-server

用于GELF日志的简单PHP服务器

4.0.0 2023-02-02 15:10 UTC

This package is auto-updated.

Last update: 2024-08-30 01:32:03 UTC


README

这是一个与gelf兼容的后端如Graylog2的PHP实现。这个库提供了一个简单的服务器,GELF客户端可以连接到这个服务器。

安装

推荐通过composer安装

将gelf-server添加到composer.json中,通过运行composer require keboola/gelf-server或手动定义

"require": {
   // ...
   "keboola/gelf-server": "^1.1"
   // ...
}

重新安装依赖:composer install

使用方法

要创建服务器,使用ServerFactory

$server = ServerFactory::createServer(ServerFactory::SERVER_TCP);

要开始监听连接,使用start方法。此方法有以下参数

  • $minPort$maxPort - 设置服务器监听的端口号。如果要监听单个端口,请将$minPort$maxPort设置为相同的值。否则,服务器将在指定的范围内随机选择一个空闲端口号(包括指定范围)。
  • $onStart - 当服务器成功开始监听时执行的回调,回调签名是function ($port),它提供了服务器实际监听的端口号。
  • $onProcess - 当服务器运行时定期执行的回调。回调的签名是function (&$terminated)。服务器将无限期运行,直到你在此回调中将$terminated设置为true。
  • $onEvent - 当接收到GELF事件时执行的回调。回调的签名是function ($event)。变量$event包含一个关联数组,其中包含GELF字段
  • $onTerminate - 可选的回调,在服务器终止时执行(在停止监听连接后)。回调签名是function ()

示例

有关使用示例,请参阅/examples目录。

许可证

MIT许可,请参阅LICENSE文件。