irap/logging

CLI菜单代码,用于编写PHP 5.3+版本的命令行应用程序

2.0.1 2022-10-12 14:16 UTC

This package is auto-updated.

Last update: 2024-09-12 18:21:34 UTC


README

此包旨在简化日志记录过程。

UDP日志记录器

使用UDP进行日志记录在您希望发送日志消息后即可忘记的情况下非常出色,这可以提高性能,但无法保证日志消息会被接收。

以下是如何使用UdpLogger将日志发送到192.168.1.1上的1234端口的示例

<?php
$udpLogger = new \iRAP\Logging\UdpLogger("192.168.1.1", 1234);
$udpLogger->alert("This is my alert message", ['time' => time()]);

为了让UDP日志记录器工作,您需要有一个服务来监听这些日志。下面是一个示例脚本,您可以使用它来创建这样的服务

<?php

# Create a callback for handling the captured UDP log
$logHandler = function($from, $message, $logLevel, $context) {
    print "{$from} ({$logLevel}): {$message}" . PHP_EOL;
    print "context: " . print_r($context, true) . PHP_EOL . PHP_EOL;
    // now do something else like log it to the database.
};

# Createthe UDP reciever which will listen for logs
$udpReciever = new iRAP\Logging\UdpLogReciever(
    $maxLength = 1024*1024*32,
    1234,
    $logHandler
);

# Call the listen() to listen for UDP logs.
print "listening for messages..." . PHP_EOL;
while (true)
{
    $udpReciever->listen();
}