Я хочу избавиться от лишнего логирования в 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
.