vrza / simplogger
轻量级 PHP 日志库
v1.0.0
2024-02-21 14:45 UTC
Requires
- php: >=7.1
- ext-sockets: *
This package is auto-updated.
Last update: 2024-09-28 16:25:57 UTC
README
概述
Simplogger 的目标是提供一个轻量级、易于使用和集成的 PHP 日志实用程序库。
Simplogger 可以记录到
-
stdout/stderr
-
本地 syslogd (/dev/log)
-
远程 syslogd (UDP)
-
文件
典型用例是一个使用 syslogd 进行日志记录的 PHP 微服务,但在开发环境中也可以轻松地使用 stdout/stderr。
use \VladimirVrzic\Simplogger\StdouterrLogger; use \VladimirVrzic\Simplogger\SyslogLogger; $ident = basename($argv[0]); $opts = getopt('s', ['syslog']); $logger = array_key_exists('s', $opts) || array_key_exists('syslog', $opts) ? new SyslogLogger($ident, LOG_CONS, LOG_LOCAL1) : new StdoutLogger; $logger->notice('Hello world!');
设置
安装
假设您已安装 PHP Composer,并且 composer
可执行文件位于您的 $PATH
composer require vrza/simplogger
记录到本地 syslog
$ident = 'my-program-name'; $facility = LOG_LOCAL1; $options = LOG_CONS; $logger = new SyslogLogger($ident, $options, $facility);
SyslogLogger
使用 PHP 的 syslog()
函数进行记录。参数与传递给 openlog()
的参数相同。
通过 UDP 记录到远程 syslogd
$syslogHost = 192.0.2.22; $syslogPort = 514; $logger = new RemoteSysLogger($ident, $facility, $syslogHost, $syslogPort);
RemoteSysLogger
通过 UDP 将所有消息发送到 syslogd。默认主机为 127.0.0.1
,默认端口号为 514。
记录到 stdout/stderr
$logger = new StdoutLogger;
StdoutLogger
将所有消息写入 stdout。
StderrLogger
将所有消息写入 stderr。
StdouterrLogger
将 WARNING 和更高严重性的消息写入 stderr,将其他消息写入 stdout。
这些记录器可以设置为可选地包含每个消息的时间戳、标识符和严重性
$timestamp = TRUE; $severity = TRUE; $logger = new StdoutLogger($timestamp, $severity, $ident);
记录到文件
$logFile = '/var/log/my.log'; $logger = new FileLogger($logFile);
FileLogger
将所有消息写入指定的文件。
与 stdout/stderr 记录器类似,FileLogger
也有一个选项可以包含每个消息的时间戳、标识符和严重性。
$logger = new FileLogger($logFile, $timestamp, $severity, $ident);
使用方法
$logger->alert('A message with ALERT severity'); $logger->crit('A message with CRIT severity'); $logger->err('A message with ERR severity'); $logger->warning('A message with WARNING severity'); $logger->notice('A message with NOTICE severity'); $logger->info('A message with INFO severity'); $logger->debug('A messsage with DEBUG severity');