77use DateTimeImmutable ;
88use InvalidArgumentException ;
99use Monolog \Handler \RotatingFileHandler as MonoRotatingFileHandler ;
10- use Tempest \DateTime \DateTime ;
1110
1211final class RotatingFileHandler extends MonoRotatingFileHandler
1312{
@@ -29,13 +28,11 @@ protected function setDateFormat(string $dateFormat): void
2928
3029 protected function getNextRotation (): DateTimeImmutable
3130 {
32- $ datetime = match (str_replace (['/ ' , '_ ' , '. ' ], '- ' , $ this ->dateFormat )) {
33- self ::FILE_PER_WEEK => DateTime:: now ( )->startOfWeek ()-> plusDays ( 7 ),
34- self ::FILE_PER_MONTH => DateTime:: now ( )->startOfMonth ()-> plusMonth ( ),
35- self ::FILE_PER_YEAR => DateTime:: now ( )->startOfYear ()-> plusYear ( ),
36- default => DateTime:: now ( )->plusDay ()-> startOfDay ( ),
31+ return match (str_replace (['/ ' , '_ ' , '. ' ], '- ' , $ this ->dateFormat )) {
32+ self ::FILE_PER_WEEK => new DateTimeImmutable ( ' first day of next week ' )->setTime ( 0 , 0 , 0 ),
33+ self ::FILE_PER_MONTH => new DateTimeImmutable ( ' first day of next month ' )->setTime ( 0 , 0 , 0 ),
34+ self ::FILE_PER_YEAR => new DateTimeImmutable ( ' first day of January next year ' )->setTime ( 0 , 0 , 0 ),
35+ default => new DateTimeImmutable ( ' tomorrow ' )->setTime ( 0 , 0 , 0 ),
3736 };
38-
39- return $ datetime ->toNativeDateTime ();
4037 }
4138}
0 commit comments