Модуль Apache mod_log_debug
| Описание: | Дополнительное настраиваемое ведение журнала отладки |
|---|---|
| Статус: | Экспериментальный |
| Идентификатор модуля: | log_debug_module |
| Исходный файл: | mod_log_debug.c |
| Совместимость: | Доступен в Apache 2.3.14 и более поздних версиях |
Примеры
- Записать сообщение в журнал после обработки запроса к /foo/*:
<Location "/foo/"> LogMessage "/foo/ has been requested" </Location>
- Записать сообщение в журнал, если запрос к /foo/* обрабатывается во вложенном запросе:
<Location "/foo/"> LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}" </Location>Хук log_transaction по умолчанию не выполняется для вложенных запросов, поэтому необходимо использовать другой хук. - Записать сообщение в журнал, если клиент IPv6 вызывает тайм-аут запроса:
LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"Обратите внимание на расположение двойных кавычек в аргументеexpr=. - Записывать значение переменной окружения запроса "X-Foo" на каждом этапе обработки запроса:
<Location "/"> LogMessage "%{reqenv:X-Foo}" hook=all </Location>В сочетании с метками времени с точностью до микросекунд в журнале ошибокhook=allтакже позволяет определить время, затраченное на разные этапы обработки запроса.
Директива LogMessage
| Описание: | Запись сообщения, заданного пользователем, в журнал ошибок |
|---|---|
| Синтаксис: | LogMessage message [hook=hook] [expr=expression] |
| По умолчанию: | Unset |
| Контекст: | каталог |
| Статус: | Экспериментальный |
| Модуль: | mod_log_debug |
Эта директива приводит к записи заданного пользователем сообщения в журнал ошибок. В сообщении можно использовать переменные и функции из синтаксиса ap_expr. Ссылки на заголовки HTTP не приводят к добавлению имен заголовков в заголовок Vary. Сообщения записываются с уровнем журналирования info.
Хук указывает, перед какой фазой обработки запроса будет записано сообщение. Поддерживаются следующие хуки:
| Имя |
|---|
pre_translate_name |
translate_name |
type_checker |
quick_handler |
map_to_storage |
check_access |
check_access_ex |
insert_filter |
check_authn |
check_authz |
fixups |
handler |
log_transaction |
По умолчанию используется log_transaction. Также поддерживается специальное значение all, при котором сообщение записывается на каждом этапе. Не все хуки выполняются для каждого запроса.
Необязательное выражение позволяет ограничить запись сообщения условием. Подробное описание синтаксиса выражений приведено в документации ap_expr. Ссылки на заголовки HTTP не приводят к добавлению имен заголовков в заголовок Vary.
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_log_debug.html