É possível criar log de erro personalizado no Apache 2.2?

11

Eu gostaria de acrescentar o nome do vhost no meu ErrorLog e canalizá-lo para um programa que escrevi.

É possível gravar o formato de log de erro personalizado como no log de acesso?

JohnT
fonte
Dependendo da sua configuração, você pode ter um ErrorLog para cada um dos seus hosts virtuais. Não é o mesmo que um arquivo de log analisável unificado, mas é alguma coisa.
Muffinista #

Respostas:

7

Para a tubulação, consulte a diretiva ErrorLog e as entradas do manual oficial do Piped Logs, que explicam muito bem.

Obter um formato de log de erro personalizado é mais difícil. Você pode personalizar facilmente o log de acesso, LogFormatmas não há nada incorporado para modificar o formato do log de erros. Me deparei com CGI :: Carp, que é um módulo Perl para saída para o log de erros. Por fim, sempre há a modificação direta do código-fonte do Apache, dependendo de quanto você deseja esse recurso.

uesp
fonte
6

Com o Apache 2.4, você pode usar a ErrorLogFormatdiretiva.

Sintaxe: ErrorLogFormat [connection|request] format

Exemplo simples

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

Exemplo (formato padrão para MPMs encadeados)

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

Exemplo (semelhante ao formato 2.2.x)

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

Exemplo avançado com IDs de log de solicitação / conexão

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"

Fonte: Diretiva ErrorLogFormat

nulo
fonte
Alguém pode adivinhar por %aque apareceria em branco? Deveria ser o endereço IP do cliente. Eu postei uma pergunta sobre isso.
Bob Stein
1

Você provavelmente está procurando por mod_log_debug .

Piotr Kieszczyński
fonte
Enquanto você estiver correto, seria preferível incluir as partes essenciais da resposta no link aqui, caso o link fique inoperante ou seja movido.
HopelessN00b