testRotation(); } private function testRotation() { $dir = sys_get_temp_dir() . '/rotating_logs'; if (!file_exists($dir)) { mkdir($dir); } $filename = $dir . '/app.log'; $handler = new RotatingFileHandler($filename); $handler->handle([ 'level' => LogLevel::INFO, 'message' => 'rotating message', 'timestamp' => '2023-01-01 00:00:00' ]); $date = date('Y-m-d'); $expectedFile = $dir . '/app-' . $date . '.log'; $this->assertTrue(file_exists($expectedFile), 'Log file should exist'); $content = file_get_contents($expectedFile); $this->assertStringContains($content, 'rotating message'); // Cleanup if (file_exists($expectedFile)) { unlink($expectedFile); } rmdir($dir); } }