faslatam / log
可调节日志级别的轻量级日志文件写入器。
v2.0.0
2023-11-09 06:38 UTC
This package is auto-updated.
Last update: 2024-09-09 08:22:57 UTC
README
带有可调节日志级别阈值的轻量级日志文件写入器。
安装
通过 Composer
$ composer require faslatam/log
用法
创建日志记录器
$logger = new Forestry\Log\Log('/tmp/dummy.log'); //Just log notices and above. $errorLog = new Forestry\Log\Log('./logs/error.log', Psr\Log\LogLevel::NOTICE);
使用工厂
创建实例的另一种方法是使用工厂。每个阈值级别都有一个工厂。
以下是一个具有错误阈值的日志记录器示例
$factory = new ErrorLogger(); $logger = $factory->create('/tmp/error.log');
记录一条消息
Forestry\Log 提供了 RFC 5424 定义的日志级别(调试、信息、通知、警告、错误、关键、警报和紧急)的方法。每个级别都有一个方法
$logger->emergency('This is an emergency message'); $logger->alert('This is an alert message'); $logger->critical('This is an critical message'); $logger->error('This is an error message'); $logger->warning('This is an warning message'); $logger->notice('This is a notice message'); $logger->info('This is an information'); $logger->debug('This is a debug message');
您还可以使用通用的 log
方法
$logger->log(Psr\Log\LogLevel::DEBUG, 'this is a debug message');
在日志消息中使用占位符
您可以在消息字符串中使用占位符,并使用关联的上下文数组填充它们。数组键必须与占位符匹配,但不包括花括号
$user = ['name' => 'John Doe', 'mail' => '[email protected]']; $logger->info('Send mail to {name} ({mail})', $user); // Send mail to John Doe ([email protected])
更改日期格式
默认日期格式为 Y-m-d H:i:s
。您可以通过使用 setDateFormat
方法更改它
$logger->setDateFormat('r'); // e.g. Thu, 21 Dec 2000 16:01:07 +0200
此方法接受任何与 PHP 的原生 date()
兼容的字符串。
更改消息格式
日志消息的默认格式为 date level message
。要更改它,您可以使用 setLogFormat
重新排列占位符
$logger->setLogFormat('[{level}|{date}] {message}'); // [INF0|2013-04-25 13:37:42] This is an info message
以下占位符可用
- {date}
- {level}
- {message}
这些占位符将被替换为 sprintf()
的占位符,因此您还可以使用以下内容
%1$s
= 日期%2$s
= 级别%3$s
= 消息
更改现有实例的阈值级别
要更改现有实例的阈值级别,请使用 setLogThreshold
方法
$logger->setLogThreshold(Psr\Log\LogLevel::DEBUG);
获取当前日志级别
要获取现有实例的当前阈值级别,请使用 getLogThreshold
方法
$level = $logger->getLogThreshold(); $logger->setLogThreshold(Psr\Log\LogLevel::INFO); $logger->logInfo('my info'); $logger->setLogThreshold($level);
测试
$ composer test
贡献
有关详细信息,请参阅 CONTRIBUTING
鸣谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件