Назад | Перейти на главную страницу

Не регистрировать успешные запросы apache

Я хочу избавиться от лишнего логирования в Apache. Я нашел руководство как пользоваться модуль setenvif для этого установив переменную dontlog.

Проблема только в том, что я не вижу в списке критериев, что мне наиболее интересно, http-статус.

Я бы хотел сделать следующее:

SetEnvIf Http_Status 200 dontlog

Но вроде нет Http_Status Поддержка для SetEnvIf...

Как фильтровать журналы по статусу http?

Небольшой поиск в Google показал мне следующее результат:

Различие в коде статуса Нам всем нравится статус HTTP 200. Он означает «ОК», и поэтому мы не заинтересованы в его регистрации. Чаще всего возникает ситуация, когда мы ищем в журналах определенный код статуса. С участием mod_log_config вы можете создавать отдельные журналы для каждого необходимого статуса. Пожалуйста, посмотрите на эту конфигурацию:

CustomLog ok.log "%200t %200a,%200{User-Agent}i %200U%200q %200s"
CustomLog redirections.log "%301t %301a,%301{User-Agent}i %301U%301q %301s"
CustomLog not_found.log "%404t %404a,%404{User-Agent}i %404U%404q %404s"
CustomLog server_error.log "%500t %500a,%500{User-Agent}i %500U%500q %500s"

Он содержит ссылку на этот сайт.

Редактировать:

Электрический ток) документация из mod_log_config показывает варианты сопоставления кодов состояния:

Определенные элементы можно ограничить печатью только для ответов с определенными кодами состояния HTTP, поместив список кодов состояния, разделенных запятыми, сразу после "%". Список кодов состояния может предваряться знаком "!" для обозначения отрицания.

Поэтому я предлагаю вам прочитать эту страницу и настроить CustomLog конфигурации, соответствующие вашим потребностям. Я бы начал с чего-то вроде:

CustomLog /dev/null "%200"

Хотя имя файла должно быть относительно ServerRoot так что здесь потребуются некоторые хитрости. Возможно, проверьте некоторые chroot документацию о том, как скопировать файл / dev / null внутрь вашего ServerRoot.