我想在我的 ErrorLog 中添加 vhost 名称,然后将其传输到我编写的程序中。
是否可以像访问日志一样写入自定义错误日志格式?
答案1
答案2
在 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。
答案3
使用 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"
带有请求/连接日志 ID 的高级示例
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"
答案4
你可能正在寻找mod_log_debug。