PHP Monolog 记录器 RotatingFileHandler 从不旋转文件

use*_*ond 7 php logging monolog log-rotation

PHP 7.1,ubuntu 12.04 LTS,monolog 版本是 1.23.0。

记录器初始化:

<?php
    $logger = new Logger('app');
    $logger->pushHandler(
        new RotatingFileHandler(
            Main\Application::getDocumentRoot() . '/runtime/logs/app.log',
            5,
            Logger::DEBUG
        )
    );
Run Code Online (Sandbox Code Playgroud)

当前路径中有 24 个日志文件,而不是预期的 5 个。

如何强制monolog按预期旋转文件?我是否需要执行一些额外的步骤来轮换文件,什么原因可能导致不删除旧日志?

Avi*_*Avi 3

尝试下面的代码...

$logger = new Logger('app');
$handler = new RotatingFileHandler(Main\Application::getDocumentRoot() . '/runtime/logs/app.log', 5, Logger::DEBUG, true, 0664);

//$handler->setFilenameFormat('{date}-{filename}', 'Y/m/d');
$logger->pushHandler($handler);

$array = ["x" => "y"];
$logger->addInfo('new message', $array);
Run Code Online (Sandbox Code Playgroud)