Ваша настройка это:
<IfModule log_config_module>
CustomLog "|bin/rotatelogs.exe logs/access_log-%Y.log 10M" common
<IfModule log_config_module>
Таким образом, при настройке access_log.log-2015
с 1 января 2016 года определенно будет меняться на access_log.log-2015
независимо от настройки размера. Если вы хотите ежедневную ротацию, вам нужно установить нечто большее, чем год, например месяц и день, например:
<IfModule log_config_module>
CustomLog "|bin/rotatelogs.exe logs/access_log-%Y-%m-%d.log 10M" common
<IfModule log_config_module>
Или даже часы, минуты и секунды в дополнение к месяцу и дню:
<IfModule log_config_module>
CustomLog "|bin/rotatelogs.exe logs/access_log-%Y-%m-%d-%H_%M_%S.log 10M" common
<IfModule log_config_module>
Идея проста: если размер файла журнала достигает 10 МБ, а имя файла составляет всего год, тогда эта схема именования в один год будет сохраняться для каждой «ротации». Вы не видите ротацию, поскольку она просто добавляет ее к access_log-2015.log
.
Добавляя больше специфичности, вы уверены, что журналы будут не только вращаться, когда достигается ограничение в 10 МБ, но также у вас есть псевдо-временная метка в имени файла, чтобы точно знать, когда происходит вращение.