logrotate pode ser configurado para girar somente quando os logs excederem um determinado tamanho, veja a opção minsize. Normalmente, o logrotate é executado diariamente, se você quiser girar quando o arquivo de log for mais ou menos exatamente 1GB, você pode precisar de um script que observe o arquivo de log e acione o logrotate quando exceder seu limite.
Como alternativa, você pode manter a rotação diária de arquivos de log menores, mas ter um script postrotate que concatene os logs girados juntos em conjuntos de dados de 1 GB.