arashdalir / php-psr3log
该软件包最新版本(v1.1.0)没有可用的许可信息。
这是lvht\updlog的SysLog over UDP实现的扩展,旨在使库可扩展,并使其他日志目标使用相同的格式成为可能。
v1.1.0
2018-06-13 09:51 UTC
Requires
- php: ^5.6
- psr/log: ^1.0
Provides
- psr/log-implementation: 1.0.0
This package is auto-updated.
Last update: 2024-09-21 23:14:33 UTC
README
ArashDalir\Psr3Log
是一个遵循 PSR3 的实现,按照 RFC 5424 发送日志。该库基于 lvht\updlog 的UDP-Based SysLog库实现,将其通用化,并允许进一步扩展基本系统。
安装
使用以下命令将存储库添加到您的项目中
composer require arashdalir/php-psr3log:dev-master
或者在您的 composer.json 中添加以下行
{ "require": { "arashdalir/php-psr3log": "dev-master" } }
用法
目前,只有SysLog over UDP格式和本地SysLog的Psr3Log处理器实现。
本地SysLog
在创建对象时未定义地址,对象将尝试将值写入本地syslog。
基于UDP的SysLog客户端
构造函数接受一个IP地址和一个syslog服务器所在的端口号,并将日志发送到远程服务器。
在Windows上的使用
请注意,在Windows上 只能使用LOG_USER设施。使用其他设施将抛出类型为 ArashDalir\Handler\SysLog\InvalidFacilityException
的异常,如果 setFacility($facility, $os_form)
的第二个参数设置为true。
<?php include 'vendor/autoload.php'; $udp = new ArashDalir\Handler\SysLog\SysLog('127.0.0.1'); $udp->getLogMessage()->setFacility(LOG_AUTH, false) ->setVersion(\ArashDalir\Handler\SysLog\SysLogMessage::VERSION_1) // available as of V1.1.0 ->setHostname('ada') ->setProcessId(8848) ->setMessageId('demo') ->setAppName('php'); $udp->error('UDP SysLog Error Test'); $udp->info('UDP SysLog Info Test'); $udp->debug('UDP SysLog Debug Test'); $udp->emergency('UDP SysLog Emergency Test'); $local = new \ArashDalir\Handler\SysLog\SysLog(); $local->getLogMessage()->setFacility(LOG_USER) ->setHostname('ada') ->setProcessId(8848) ->setMessageId('demo') ->setAppName('php'); $local->error('Local SysLog Error Test'); $local->info('Local SysLog Info Test'); $local->debug('Local SysLog Debug Test'); $local->emergency('Local SysLog Emergency Test');
状态
Psr3Log扩展了Udplog。它提供了一个符合PSR-3的日志记录器实现。与Udplog一样,Psr3Log不支持 STRUCTURED-DATA。希望未来的版本将解决这个问题...
版本
v1.1.0
- 增加了对 RFC5424 (syslog V1) 的支持
- 如果直接使用 psr3log->log 函数,可以手动设置消息时间戳 - 主要为实现扩展而实现,以便将其他日志记录器的日志消息馈入此库。
v1.0.0
第一个稳定版本 - 实现了以下功能
- 本地syslog条目
- 基于UDP的syslog客户端
- 基于 RFC3164 (syslog V0)