Sua configuração é esta:
<IfModule log_config_module>
CustomLog "|bin/rotatelogs.exe logs/access_log-%Y.log 10M" common
<IfModule log_config_module>
Portanto, da maneira como isso é configurado, access_log.log-2015
com certeza mudará em 1º de janeiro de 2016 para access_log.log-2015
independentemente da configuração de tamanho. Se você quiser rotação diária, precisa definir algo mais do que um ano, como mês e dia, assim:
<IfModule log_config_module>
CustomLog "|bin/rotatelogs.exe logs/access_log-%Y-%m-%d.log 10M" common
<IfModule log_config_module>
Ou até mesmo horas, minutos e segundos além do mês e do dia:
<IfModule log_config_module>
CustomLog "|bin/rotatelogs.exe logs/access_log-%Y-%m-%d-%H_%M_%S.log 10M" common
<IfModule log_config_module>
A idéia é simples: se o arquivo de log atingir 10MB de tamanho e o nome do arquivo for apenas um ano, esse esquema de nomeação de um ano será retido para cada "rotação". Você não está vendo a rotação, pois ela está apenas anexando-a para access_log-2015.log
.
Ao adicionar mais especificidade, você tem a garantia de que os logs não só girarão quando o limite de 10MB for atingido, mas você também terá um pseudo timestamp no nome do arquivo para saber exatamente quando a rotação ocorrerá.