| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace Test\Michel\Log;
- use Michel\Log\Handler\RotatingFileHandler;
- use Michel\UniTester\TestCase;
- use Psr\Log\LogLevel;
- class RotatingFileHandlerTest extends TestCase
- {
- protected function setUp(): void
- {
- // TODO: Implement setUp() method.
- }
- protected function tearDown(): void
- {
- // TODO: Implement tearDown() method.
- }
- protected function execute(): void
- {
- $this->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);
- }
- }
|