O Apache é bem flexível na especificação do que será registrado em seus arquivos de log, possibilitando utilizar um arquivo de log único, diversos arquivos de logs registrando cada evento ocorrido no sistema (conexão, navegador, bloqueio de acesso, erros, etc) incluindo os campos que deseja em cada arquivo e a ordem dos campos em cada um deles.
Enfim qualquer coisa pode ser especificada de forma que atenda as suas necessidades particulares de logging.
AgentLog arquivo/pipe
: Indica o nome do arquivo que
registrará o nome do navegador que está acessando a página (conteúdo do
cabeçalho User-Agent
). É possível usar o pipe "|" para
direcionar os erros para um programa de formatação ou processamento. ATENÇÃO: Se um programa for usado como pipe, ele será
executado sob o usuário que iniciou o apache. Revise o
código fonte do programa para ter certeza que não contém falhas que possam
comprometer a segurança de seu sistema.
Exemplo: AgentLog /var/log/apache/agent.log
ErrorLog arquivo/pipe
- Especifica o arquivo que registrará
as mensagens de erro do servidor Apache. É possível usar o
pipe "|" para direcionar os erros para um programa de formatação ou
processamento.
Exemplo: ErrorLog /var/log/apache/errors.log
Permite especificar onde os logs serão gravados para os arquivos de logs personalizados. Esta diretiva também aceita apelidos definidos pela diretiva LogFormat.
CustomLog [arquivo/pipe] [formato/nome]
Onde:
Arquivo de log personalizado ou pipe.
Especifica o formato do arquivo de log (da mesma forma que o especificado na opção LogFormat). Deverá ser especificado entre "aspas" caso tiver espaços. Veja “LogFormat” para detalhes.
Ao invés de especificar o formato, também é possível usar um apelido definido pela opção LogFormat (“LogFormat”), neste caso os parâmetros definidos pelo LogFormat para "nome" serão atribuídos a diretiva CustomLog.
Exemplos:
CustomLog /var/log/apache/common.log "%h %l %u %t \"%r\" %>s
%b"
CustomLog /var/log/apache/common.log common
RefererLog [arquivo/pipe]
: Indica que arquivo/pipe
registrará os campos Referer do cabeçalho HTTP. Esta diretiva é mantida por
compatibilidade com o servidor web NCSA 1.4.
A configuração padrão do Apache usa uma diretiva alternativa para a especificação do referer que é a seguinte:
LogFormat "%{Referer}i -> %U" referer CustomLog /var/log/apache/referer.log referer
Exemplo: RefererLog /var/log/apache/referer.log
RewriteLog: [arquivo/pipe]
: Indica o arquivo/pipe que
registrará qualquer regravação de URL feita pelo Apache.
OBS: Não é recomendável direcionar o nome de
arquivo para /dev/null
como forma de desativar este log,
porque o módulo de regravação não cria a saída para um arquivo de log, ele cria
a saída de log internamente. Isto somente deixará o servidor lento. Para
desativar este registro, simplesmente remova/comente a diretiva RewriteLog ou
use a opção RewriteLogLevel 0.
Exemplo: RewriteLog "/usr/local/var/apache/logs/rewrite.log
RewriteLogLevel [num]
: Especifica os detalhes que serão
incluídos no registro da opção RewriteLog, os valores permitidos estão entre 0
e 9. Se for usado 0, o registro do RewriteLog é totalmente desativado (esta é
a padrão). OBS: Qualquer valor acima de 2
deixa o servidor Web cada vez mais lento devido ao processamento e a quantidade
de detalhes registrados no arquivo especificado por
RewriteLog.
ScriptLog [arquivo]
: Especifica o nome do arquivo de log que
receberá as mensagens de erros gerados por scripts CGI executados no servidor.
Esta opção é controlada pelo módulos mod_cgi.
Os arquivos de log serão abertos por um sub-processo rodando com as permissões do usuário especificado na diretiva "user".
OBS: Esta opção somente é recomendada como depuradora de scripts CGI, não para uso contínuo em servidores ativos.
Exemplo: ScriptLog /var/log/apache/cgiscripts.log
ScriptLogBuffer
: Especifica o tamanho do cabeçalho PUT ou
POST gravado no arquivo especificado por ScriptLog. O
valor padrão é 1024 bytes. Esta opção é controlada pelo módulos
mod_cgi
Exemplo: ScriptLogBuffer 512
ScriptLogLength: [tamanho]
: Especifica o tamanho máximo do
arquivo de log gerado pela opção ScriptLog. O valor padrão é 10385760 bytes
(10.3MB). Esta opção é controlada pelo módulos mod_cgi
Exemplo: ScriptLogLength 1024480
LogFormat
: Define os campos padrões do arquivo gerado pela
opção TransferLog. O seu formato é o seguinte:
LogFormat [formato] [nome]
Quando o formato não é especificado, assume o valor padrão %h %l %u %t
\"%r\" %s %b
. A especificação do [nome] permite
que você utilize o formato especificado em uma opção
CustomLog ou outra diretiva
LogFormat, facilitando a especificação do formato do log.
Os seguintes formatos são válidos:
%b
- Bytes enviados, excluindo cabeçalhos HTTP.
%f
- Nome do arquivo.
%{FOOBAR}e
- O conteúdo da variável de ambiente FOOBAR.
%h
- Máquina cliente.
%a
- Endereço IP da máquina cliente.
%A
- Endereço IP local. Muito útil em virtual hostings.
%{Foobar}i
- O conteúdo de Foobar: linhas de cabeçalho na
requisição enviada ao servidor.
%l
- O nome de login remoto enviado pelo identd (se
fornecido).
%{Foobar}n
- O conteúdo de "FooBar" de outro módulo.
%{Foobar}o:
- O conteúdo de Foobar: linhas de cabeçalho na
resposta.
%p
- A porta do servidor servindo a requisição.
%P
- A identificação do processo filho que serviu a
requisição.
%r
- A primeira linha da requisição.
%s
- Status. Para requisições que foram redirecionadas.
internamente. Este é o status de uma requisição *original*. Use %s para a
última.
%t
- Hora, no formato do arquivo de log (formato inglês
padrão).
%{format}t
- Hora, no formato definido por strftime.
%T
- O tempo necessário para servir a requisição, em
segundos.
%u
- Usuário remoto (através do auth, pode ser falso se o
status de retorno (%s) for 401).
%U
- O caminho da URL requisitada.
%v
- O nome canônico definido por
ServerName que serviu a requisição.
%V
- O nome do servidor de acordo com a configuração de
UseCanonicalName.
Exemplos:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T %v" full LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %P %T" debug LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent
TransferLog [arquivo/pipe]
: Indica o arquivo que armazenará
as transferências entre o servidor http e o cliente. Ela cria o arquivo de log
com o formato definido pela opção LogFormat mais recente
(sem a especificação do nome associado a diretiva) ou o formato padrão CLF do
log do Apache.
Se omitido, o arquivo não será gerado
Exemplo: TransferLog /var/log/apache/transferências.log
OBS: Se esta não é uma opção muito utilizada na administração de seus sistemas, é recomendável o uso da diretiva CustomLog (veja “CustomLog”) para evitar confusões futuras.
Define o nível de alerta das mensagens que serão gravadas no arquivo especificado pela diretiva ErrorLog. Quando não é especificado, assume o nível "error" como padrão. Abaixo os parâmetros aceitos em sua respectiva ordem de importância:
emerg
- O sistema está inutilizável.
alert
- A ação deve ser tomada imediatamente.
crit
- Condições críticas.
error
- Condições de erro.
warn
- Condições de alerta.
notice
- Condição normal mas significante.
info
- Mensagens informativas.
debug
- Mensagens do nível de depuração.
Note que os níveis são os mesmos usados pelo syslog. Quando um nível particular é especificado, as mensagens de todos os níveis de maior importância também serão registrados. Por exemplo, se o nível "info" for especificado, as mensagens com os níveis de "notice" e "warn" também serão registradas. É recomendado o uso de um nível de no mínimo crit.
Se estiver como "on" a senha digitada será registrada no arquivo especificado por ErrorLog. Esta diretiva é ativada por padrão.
Exemplo: Anonymous_LogEmail off
Especifica o arquivo que será usado para registrar os cookies
OBS1: Caso o caminho do arquivo não for especificado nas diretivas, será assumido DocumentRoot como diretório padrão.
OBS2: Caso esteja usando o pipe, o dono do processo será o mesmo que iniciou o servidor WEB Apache. Tenha certeza do funcionamento do programa para não comprometer o seu sistema, e cuide para que ele não possa ser modificado indevidamente por outros usuários.
Exemplo: CookieLog /var/log/apache/cookies.log
O programa webalizer poderá ser instalado para gerar um
relatório gráfico com a estatísticas de visitas por ano/mes/dia/hora usando os
dados do access.log
. Outra interessante característica
são as estatísticas de códigos http (veja “Códigos HTTP”), onde é possível saber a quantidade de links
quebrados existentes em nosso servidor (estes poderão ser detectados usando o
pacote de análise de sites ). O
webalizer também é compatível com os formatos de log do
squid e proftpd. Na distribuição
Debian ele pode ser instalado a partir do pacote e gera um relatório geral quando é
executado sem opções.
Copyright © 1999-2020 - Gleydson Mazioli da Silva