PHP Monolog可以通過使用RotatingFileHandler來實現日志輪換。RotatingFileHandler可以按照指定的條件(如日志文件大小、日志文件數量等)來自動進行日志輪換。
以下是一個使用RotatingFileHandler實現日志輪換的示例代碼:
use Monolog\Logger;
use Monolog\Handler\RotatingFileHandler;
// 創建一個Monolog實例
$log = new Logger('name');
// 創建一個RotatingFileHandler,設置日志文件路徑和最大文件數量
$handler = new RotatingFileHandler('path/to/logfile.log', 3);
// 設置日志等級
$handler->setLevel(Logger::DEBUG);
// 添加handler到Monolog實例
$log->pushHandler($handler);
// 記錄日志
$log->info('This is a log message');
在上面的示例中,我們創建了一個Monolog實例,并使用RotatingFileHandler設置了日志文件路徑為’path/to/logfile.log’,最大文件數量為3。當日志文件大小達到一定閾值時,RotatingFileHandler會自動將日志寫入到下一個文件,并最終循環覆蓋之前的文件。
通過使用RotatingFileHandler,可以很方便地實現日志輪換功能,保持日志文件的大小和數量在可控范圍內。