dobryak/phpsyslognet

符合RFC5424 syslog标准的PHP Syslog客户端,支持TCP/UDP传输

v1.0.0 2020-11-28 13:38 UTC

This package is not auto-updated.

Last update: 2024-09-20 03:55:51 UTC


README

PHP Syslog客户端符合RFC 5424 syslog标准,并支持UDP和TCP传输,以及UNIX域套接字。

用法

简单方式

use SyslogNet\SyslogNet;
use SyslogNet\Severity;
use SyslogNet\Facility;
use SyslogNet\Formatters\FormatterRFC5424;
use SyslogNet\Transports\Socket;

$syslog = new SyslogNet(
    Socket::createUDP('127.0.0.1', 514),
    new FormatterRFC5424(),
    Facility::DAEMON,
    'myService'
);

$syslog->send(Severity::CRIT, 'My test message');

高级方式

use SyslogNet\SyslogNet;
use SyslogNet\Severity;
use SyslogNet\Transports\Socket;
use SyslogNet\StructuredDataElement;

$sys = new SyslogNet(Socket::createUDP('127.0.0.1', 514));

$message = $sys->createMessage(Severity::CRIT, 'My test message');
$message->setAppName('myService');
$message->setHostName('myHostName');
$message->setMsgId("m1");

$sd1 = new StructuredDataElement('id1');
$sd1['key1'] = 'value1';
$sd1['key2'] = 'value2';

$sd2 = new StructuredDataElement('id2');
$sd2['key1'] = 'value1';
$sd2['key2'] = 'value2';

$message->addSDElement($sd1);
$message->addSDElement($sd2);

$sys->sendMessage($message);