Forums -> Флейм -> Apache logs
| Full Version

masterofsql
Привет всем! Есть ли здесь Apache гуру? Может, кто знает, как можно в логах с помощью SetEnvIf отловить запросы, вызвавшие ошибку, скажем, 404? Я не хочу писать их в access log, потому как они и так записываются в error log. Если кто знает, подскажите. Заранее спасибо.
irage
QUOTE (masterofsql @ 08-04-2004, 17:56)
Привет всем! Есть ли здесь Apache гуру? Может, кто знает, как можно в логах с помощью SetEnvIf отловить запросы, вызвавшие ошибку, скажем, 404? Я не хочу писать их в access log, потому как они и так записываются в error log. Если кто знает, подскажите. Заранее спасибо.

а пропарсить лог не легче? перловый скрипт или grep например.
masterofsql
Там довольно сложная система логов, с кучей других условий, поэтому ошибки хотелось бы отлавливать сразу. Возможно, это будет единственным выходом если такую проверку нельзя реализовать в принципе.
irage
QUOTE (masterofsql @ 09-04-2004, 00:50)
Там довольно сложная система логов, с кучей других условий, поэтому ошибки хотелось бы отлавливать сразу. Возможно, это будет единственным выходом если такую проверку нельзя реализовать в принципе.

При запросе документа, который не найден, апач выдаёт страницу вроде 404 Not Found. Файл, который при этом выводится прописывается в конфигах:

CODE

#ErrorDocument 404 /missing.html
#  to redirect to local URL /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
#  N.B.: You can redirect to a script or a document using server-side-includes.


То есть есть возможность использовать CGI. Ну а остальное - дело техники. Апач передает CGI адрес страницы, которая не найдена. Это аккуратно пишется в какой-нибудь файл. Получается полнейший реал-тайм без парсинга и заморочек.
masterofsql
А как можно избежать записи тех же сообщений в основной лог? Apache пишет эти ошибки и в access.log, и в error.log :(

Попробую сегодня отлавливать Request_URI на 404 документ, как будто этот запрос исходит от пользователя ;)