Я хотів би додати ім'я vhost у своєму ErrorLog, а потім передати його програмі, яку я написав.
Чи можливо записати користувальницький формат журналу помилок у форматі журналу доступу?
Я хотів би додати ім'я vhost у своєму ErrorLog, а потім передати його програмі, яку я написав.
Чи можливо записати користувальницький формат журналу помилок у форматі журналу доступу?
Відповіді:
Докладні відомості про трубопроводи див. У директиві ErrorLog та в офіційній інструкції Piped Logs, що досить добре пояснює це.
Отримати спеціальний формат журналу помилок складніше. Ви можете легко налаштувати журнал доступу, LogFormat
але нічого не вбудовано для зміни формату журналу помилок. Я натрапив на CGI :: Carp, який є модулем Perl для виведення в журнал помилок. Нарешті, завжди змінюється вихідний код Apache безпосередньо залежно від того, наскільки погано ви хочете цю функцію.
У Apache 2.2 ви не можете легко змінити формат error_log - див. Http://httpd.apache.org/docs/2.2/logs.html#errorlog .
Apache 2.4 додає цю підтримку. Див. Http://httpd.apache.org/docs/2.4/logs.html#errorlog .
З Apache 2.4 ви можете використовувати ErrorLogFormat
директиву.
Синтаксис: ErrorLogFormat [connection|request] format
Простий приклад
ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
Приклад (формат за замовчуванням для потокових MPM)
ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
Приклад (подібний до формату 2.2.x)
ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
Розширений приклад з ідентифікаторами журналу запиту / з'єднання
ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
Джерело: Директива ErrorLogFormat
%a
б він з’явився порожнім? Це повинна бути IP-адреса клієнта. Я розмістив питання з цього приводу.
Ви, ймовірно, шукаєте mod_log_debug .