forestry / log
该包已被废弃,不再维护。未建议替代包。
可调整日志级别的轻量级日志文件写入器。
1.0.0
2015-05-02 12:13 UTC
Requires
- php: >=5.4.0
- psr/log: ~1.0
Provides
- psr/log-implementation: 1.0.0
This package is auto-updated.
Last update: 2019-12-18 10:32:02 UTC
README
具有可调整日志级别阈值设置的轻量级日志文件写入器。
安装
通过 Composer
$ composer require forestry/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 = array('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}'); //[INFO|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);
测试
$ phpunit
贡献
有关详细信息,请参阅 CONTRIBUTING
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。