slam/laminas-log-extensions

此包已被弃用且不再维护。作者建议使用 monolog/monolog 包代替。

laminas/laminas-log 的扩展插件

v2.2.0 2023-02-22 09:40 UTC

README

Latest Stable Version Downloads Integrate Code Coverage

Laminas\Log 的扩展插件

安装

执行

composer require slam/laminas-log-extensions

使用

此包的主要功能是 RotateStream 写入器。PHP 无法处理大于 2 GB 的文件,因此如果您日志量很大,当达到这个限制时可能会丢失一些日志。

Slam\Laminas\Log\Writer\RotateStream 当达到 ~1.5 GB 时将进行写入轮换。

use Slam\Laminas\Log\Writer\RotateStream;
use Laminas\Log\Formatter\Simple;
use Laminas\Log\Logger;

$writer = new RotateStream(__DIR__ . '/log.txt');
$writer->setFormatter(new Simple());

// Do the check everytime, defaults to once every 100000 log entries
$writer->setCheckProbability(1);
// 10 bytes max file size, defaults to ~1.5 GB
$writer->setMaxFileSize(10);

$logger = new Logger();
$logger->addWriter($writer);

for ($i = 0; $i < 10; ++$i) {
    $logger->info($i);
    sleep(1);
}

您将在目录中找到以下内容

$ ls log.txt*
log.txt  log.txt.1  log.txt.2  log.txt.3  log.txt.4  log.txt.5  log.txt.6  log.txt.7  log.txt.8  log.txt.9

$ cat log.txt.9
2017-09-05T11:08:46+02:00 INFO (6): 8
2017-09-05T11:08:47+02:00 NOTICE (5): LOG ROTATE

$ cat log.txt
2017-09-05T11:08:47+02:00 INFO (6): 9