我想在我的ErrorLog中添加虚拟主机的名字,然后将其写入我写的程序中。
是否可以使用Access日志来编写自定义错误日志格式?
有关pipe道,请参阅ErrorLog指令和Piped Logs官方手册条目,这些条目可以很好地解释。
获取自定义的错误日志格式比较困难。 您可以使用LogFormat轻松自定义访问日志,但没有内置修改错误日志格式的内容。 我遇到了CGI :: Carp ,它是一个用于输出到错误日志的Perl模块。 最后,总是直接修改Apache源代码,取决于你想要这个function的程度。
在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"
具有请求/连接日志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"
来源: ErrorLogFormat指令
您可能正在寻找mod_log_debug 。