Log#
El módulo escribe registros de solicitudes en el formato especificado. Predeterminado stream, server Establece la ruta, el formato y la configuración para una escritura de registro en búfer. Se pueden especificar varios registros en el mismo nivel de configuración. El registro en syslog se puede configurar especificando el prefijo "syslog:" en el primer parámetro. El valor especial off cancela todas las directivas access_log en el nivel actual. Si se utiliza el parámetro Advertencia El tamaño del búfer no debe exceder el tamaño de una escritura atómica en un archivo de disco. Para FreeBSD, este tamaño es ilimitado. Cuando el almacenamiento en búfer está habilitado, los datos se escribirán en el archivo: si la siguiente línea de registro no cabe en el búfer; si los datos almacenados en búfer son más antiguos que el intervalo de tiempo especificado por el parámetro cuando un proceso de trabajo está reabriendo archivos de registro o se está cerrando. Si se utiliza el parámetro Ejemplo: Nota Para el soporte de compresión gzip, Angie debe compilarse con la biblioteca zlib. Se pueden usar variables en la ruta del archivo, pero estos registros tienen algunas restricciones: el usuario cuyas credenciales utilizan los procesos de trabajo debe tener permisos para crear archivos en un directorio con dichos registros; el almacenamiento en búfer no funciona; el archivo se abre para cada escritura de registro y se cierra inmediatamente después de escribir. Sin embargo, dado que los descriptores de archivos utilizados con frecuencia pueden almacenarse en una caché, la escritura puede continuar en el archivo antiguo durante la rotación de registros durante el tiempo especificado por el parámetro valid de la directiva open_log_file_cache. El parámetro if habilita el registro condicional. Una sesión no se registrará si la condición se evalúa como "0" o una cadena vacía. Especifica el formato de registro, por ejemplo: El parámetro Cuando se usa Cuando se usa Predeterminado stream, server Define una caché que almacena los descriptores de archivo de registros utilizados con frecuencia cuyos nombres contienen variables. La directiva tiene los siguientes parámetros: Establece el número máximo de descriptores en la caché; cuando la caché se desborda, se cierran los descriptores menos utilizados recientemente (LRU). Establece el tiempo después del cual se cierra un descriptor en caché si no hubo accesos durante este tiempo; por defecto, 10 segundos. Establece el número mínimo de usos del archivo durante el tiempo definido por el parámetro Establece el tiempo después del cual se debe comprobar que el archivo todavía existe con el mismo nombre; por defecto, 60 segundos. Desactiva el almacenamiento en caché. Ejemplo de uso:Configuration Example#
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;
Directives#
access_log#
access_log
path [format [buffer=
size] [gzip[=level]] [flush=
time] [if=
condition]];access_log
off
;access_log off;
buffer
o gzip
, las escrituras en el registro se almacenarán en búfer.flush
;gzip
, el búfer se comprime antes de escribir en el archivo. El nivel de compresión puede establecerse entre 1
(más rápido, menos compresión) y 9
(más lento, mejor compresión). Por defecto, se utiliza un tamaño de búfer de 64K
bytes y un nivel de compresión 1
. Los datos se comprimen en bloques atómicos, y en cualquier momento el archivo de registro puede descomprimirse o leerse mediante la utilidad "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 establecer el escape de caracteres json
o default
en variables; por defecto, se utiliza default
. El valor none
desactiva el escape de caracteres.default
, los caracteres """, "\", y los caracteres con valores menores que 32 o mayores que 126 se escapan como "\xXX". Si no se encuentra el valor de la variable, se registrará un guion "-".json
, todos los caracteres no permitidos en cadenas JSON se escapan: los caracteres """ y "\" se escapan como "\"" y "\\", los caracteres con valores menores que 32 se escapan como "\n", "\r", "\t", "\b", "\f", o "\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 el descriptor permanezca abierto en la caché; por defecto, 1.valid
off
open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;