Log#
O módulo escreve logs de requisição no formato especificado. Padrão stream, server Define o path, format e configuração para uma escrita de log com buffer. Vários logs podem ser especificados no mesmo nível de configuração. O log para syslog pode ser configurado especificando o prefixo "syslog:" no primeiro parâmetro. O valor especial off cancela todas as diretivas access_log no nível atual. Se o parâmetro Aviso O tamanho do buffer não deve exceder o tamanho de uma escrita atômica em um arquivo de disco. Para FreeBSD este tamanho é ilimitado. Quando o buffer está habilitado, os dados serão escritos no arquivo: se a próxima linha de log não couber no buffer; se os dados em buffer forem mais antigos que o intervalo de tempo especificado pelo parâmetro quando um processo worker estiver reabrindo arquivos de log ou sendo encerrado. Se o parâmetro Exemplo: Nota Para suporte à compressão gzip, o Angie deve ser compilado com a biblioteca zlib. Variáveis podem ser usadas no caminho do arquivo, mas tais logs têm algumas restrições: o usuário cujas credenciais são usadas pelos processos worker deve ter permissões para criar arquivos em um diretório com tais logs; o buffer não funciona; o arquivo é aberto para cada escrita de log e fechado imediatamente após a escrita. No entanto, como descritores de arquivos usados frequentemente podem ser armazenados em cache, a escrita pode continuar no arquivo antigo durante a rotação de log pelo tempo especificado pelo parâmetro valid da diretiva open_log_file_cache. O parâmetro if habilita o log condicional. Uma sessão não será logada se a condição for avaliada como "0" ou uma string vazia. Especifica o formato do log, por exemplo: O parâmetro Ao usar Ao usar Padrão stream, server Define um cache que armazena os descritores de arquivo de logs usados frequentemente cujos nomes contêm variáveis. A diretiva tem os seguintes parâmetros: Define o número máximo de descritores no cache; quando o cache transborda, os descritores menos recentemente usados (LRU) são fechados. Define o tempo após o qual um descritor em cache é fechado se não houve acessos durante este tempo; por padrão, 10 segundos. Define o número mínimo de usos do arquivo durante o tempo definido pelo parâmetro Define o tempo após o qual deve ser verificado se o arquivo ainda existe com o mesmo nome; por padrão, 60 segundos. Desabilita o cache. Exemplo de uso:Exemplo de Configuração#
log_format basic '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time';
access_log /spool/logs/angie-access.log basic buffer=32k;
Diretivas#
access_log#
access_log
path [format [buffer=
size] [gzip[=level]] [flush=
time] [if=
condition]];access_log
off
;access_log off;
buffer
ou gzip
for usado, as escritas no log
serão armazenadas em buffer.flush
;gzip
for usado, então o buffer será comprimido antes
de escrever no arquivo. O nível de compressão pode ser definido entre 1
(mais rápido, menos compressão) e 9
(mais lento, melhor compressão). Por
padrão, um tamanho de buffer de 64K
bytes e nível de compressão 1
são
usados. Os dados são comprimidos em blocos atômicos, e a qualquer momento o arquivo de log pode
ser descomprimido ou lido pelo utilitário "zcat"
.access_log /path/to/log.gz basic gzip flush=5m;
log_format#
log_format proxy '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time "$upstream_addr" '
'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
escape
permite definir escape de caracteres json
ou default
em variáveis; por padrão, default
é usado. O valor none
desabilita o escape de caracteres.default
, os caracteres """, "\", e caracteres com valores menores que 32 ou maiores que 126 são escapados como "\xXX". Se o valor da variável não for encontrado, um hífen "-" será logado.json
, todos os caracteres não permitidos em strings JSON são escapados: caracteres """ e "\" são escapados como "\"" e "\\", caracteres com valores menores que 32 são escapados como "\n", "\r", "\t", "\b", "\f", ou "\u00XX".open_log_file_cache#
open_log_file_cache
max=
N [inactive=
time] [min_uses=
N] [valid=
time];open_log_file_cache
off
;open_log_file_cache off;
max
inactive
min_uses
inactive
para que o descritor permaneça aberto no cache; por padrão, 1.valid
off
open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;