Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'd like to prepend the vhost name in my ErrorLog and then pipe it into a program I wrote.

Is it possible to write Custom Error log format as it is with Access log?

share|improve this question
    
Depending on your setup, you can have an ErrorLog for each of your virtual hosts. It's not the same as a unified parsable logfile, but it's something. – muffinista May 6 '11 at 16:31

For piping see the ErrorLog directive and Piped Logs official manual entries which explain it pretty well.

Getting a custom error log format is more difficult. You can customize the access log easily with LogFormat but there is nothing built in for modifying the error log format. I did come across CGI::Carp which is a Perl module for outputting to the error log. Finally, there is always modifying the Apache source code directly depending on how badly you want this feature.

share|improve this answer

In Apache 2.2 you cannot change the format of error_log easily - see http://httpd.apache.org/docs/2.2/logs.html#errorlog.

Apache 2.4 adds this support. See http://httpd.apache.org/docs/2.4/logs.html#errorlog.

share|improve this answer

You are probably looking for mod_log_debug.

share|improve this answer
    
While you are correct, it would be preferable to include the essential parts of the answer at the link here, in case the link goes dead or is moved. – HopelessN00b Oct 8 '12 at 1:13

With Apache 2.4 you can use the ErrorLogFormat directive.

Syntax: ErrorLogFormat [connection|request] format

Simple example

ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"

Example (default format for threaded MPMs)

ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"

Example (similar to the 2.2.x format)

ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"

Advanced example with request/connection log IDs

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"

Source: ErrorLogFormat Directive

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.