De fato, Logfile::Rotate
não roda com base no tamanho, o que não deve ser surpreendente, já que em nenhum lugar sua documentação diz isso. Talvez a maneira mais simples de rodar com base no tamanho seria encapsular a chamada para rotate
dentro de um if, por exemplo:
if (-s '/var/log/remotehost/fakepath/Syslog.log' > 1048576) {
$log->rotate();
}
Isso deve girar os logs somente quando o arquivo nomeado for maior que 1 MB (o tamanho é dado em bytes).