Because if log files exist and rotate is decreased from a higher value to `0` the existing log files are never cleared out otherwise.

Now at first the `.log` is processed in 203-207. After that it's checked if there are any backlog files and if so they are removed according to the `rotate`. If `rotate` is zero and there are backlog files all of them are deleted (so yes, rotation will always occur).

The overhead is a `glob($filepath . '.*');`, but `filesize` will exit early, so I don't think this is a performance issue for a reasonable `size`.