В соответствии с документацией Apache для rotatelogs , я реализовал формат файла журнала в httpd.conf следующим образом:

<IfModule log_config_module>
    CustomLog "|bin/rotatelogs.exe logs/access_log-%Y.log 10M" common
<IfModule log_config_module>

Он создал файл access_log.log-2015 и записывает журналы, но не вращает файл после того, как он достигает 10 МБ, а размер файла теперь составляет 20 МБ.

Есть ли что-то, что я здесь скучаю? Я нахожусь на XAMPP на Windows.

2 ответа2

1

В документации Rotatelogs говорится, что шаблон файла журнала должен быть достаточно конкретным, чтобы давать новое имя при достижении предела размера. Твой нет. Попробуйте изменить, чтобы включить месяц и день.

Документ подразумевает, что при достижении лимита файл будет обрезан и снова открыт. Это не то, что вы видите, но может быть из-за различий платформ.

1

Ваша настройка это:

<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 МБ, но также у вас есть псевдо-временная метка в имени файла, чтобы точно знать, когда происходит вращение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .