Apache CustomLog para registrar o URL completo

14

Gostaria de adicionar uma diretiva CustomLog à configuração do meu apache para registrar o URL completo solicitado (ou pelo menos a parte do host do URL). Eu tenho vários domínios sendo manipulados pela mesma instância do apache e gostaria de poder distinguir os domínios nos logs (como agora tudo que vejo é "GET /"). Eu vejo em a documentação em LogFormat lista %U para imprimir a parte do caminho de o URL, mas estou procurando o host.

    
por jrdioko 23.06.2011 / 19:25

4 respostas

20

Continue lendo a documentação de LogFormat e você encontrará:

%...{Foobar}i:  The contents of Foobar: header line(s) in the request
                sent to the server.

O que significa que você pode incluir na sua configuração:

%{Host}i

As diretivas %v e %V também podem obter o que você deseja.

% v será sempre o valor de ServerName (o "nome canônico" do seu host virtual). %V pode ser o valor de ServerName , ou pode ser o valor do cabeçalho Host do HTTP, dependendo se você tem UseCanonicalName ativado em sua configuração (e se ou não, o cliente forneceu um cabeçalho Host ).

    
por 23.06.2011 / 19:32
2

'% v' é o nome do servidor pode ser o que você quer?

    
por 23.06.2011 / 19:32
2

Adicione %v ao seu formato de registro.

Algo parecido com isto:

LogFormat "%v - %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined-vhost
CustomLog /log/file/location combined-vhost
    
por 23.06.2011 / 19:33
1

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{Host}i%U%q" combined

%{Host}i%U%q fornece o URL completo.

    
por 17.09.2015 / 00:41