Log#
Los registros de acceso se escriben en el formato especificado.
Los registros se escriben en el contexto de una Predeterminado http, server, location, if in location, limit_except Establece la ruta, el formato y la configuración de escritura en búfer para el registro. Se pueden usar múltiples registros en el mismo nivel de configuración. El registro en syslog se configura especificando el prefijo "syslog:" en el primer parámetro. El valor especial off cancela todas las directivas access_log para el nivel actual. Si no se especifica un formato, se utiliza el formato predefinido "combined". Si se especifica el tamaño del búfer usando 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. En FreeBSD este tamaño es ilimitado. Cuando el almacenamiento en búfer está habilitado, los datos se escriben en el archivo: si la siguiente línea de registro no cabe en el búfer; si los datos en el búfer han estado allí más tiempo que el intervalo especificado por el parámetro flush; al reabrir el archivo de registro o al terminar el proceso de trabajo. Si se especifica el parámetro Ejemplo: Nota Para la compatibilidad con la compresión gzip de registros, Angie debe ser compilado con la biblioteca zlib. Se pueden usar variables en la ruta del archivo, pero estos registros tienen algunas limitaciones: el usuario bajo cuyas credenciales se ejecutan los procesos de trabajo debe tener permisos para crear archivos en el 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 de uso frecuente pueden almacenarse en caché, durante la rotación de registros dentro del tiempo especificado por el parámetro valid de la directiva open_log_file_cache, la escritura puede continuar en el archivo antiguo. para cada escritura de registro, se verifica la existencia del directorio raíz para la solicitud — si este directorio no existe, el registro no se crea. Por lo tanto, root y access_log deben describirse en el mismo nivel de configuración: El parámetro Predeterminado http Especifica el formato del registro. El parámetro Cuando se usa Cuando se usa Las líneas de cabecera enviadas al cliente comienzan con el prefijo El formato predefinido Predeterminado http, server, location Define una caché que almacena descriptores de archivo de registros utilizados con frecuencia cuyos nombres se especifican mediante variables. Parámetros: Establece el número máximo de descriptores en la caché; cuando la caché se desborda, los descriptores menos utilizados recientemente (LRU) se cierran. Establece el tiempo después del cual un descriptor en caché se cierra si no ha sido accedido durante este tiempo.
El valor predeterminado es 10 segundos. Establece el número mínimo de usos del archivo durante el tiempo especificado por el parámetro Especifica después de qué tiempo comprobar que el archivo todavía existe bajo el mismo nombre.
El valor predeterminado es 60 segundos. Desactiva el almacenamiento en caché. Ejemplo de uso:location
donde finaliza el procesamiento. Esto puede ser una location
diferente de la original si ocurre una redirección interna durante el procesamiento de la solicitud.Ejemplo de configuración#
log_format compression '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio"';
access_log /spool/logs/angie-access.log compression buffer=32k;
Directivas#
access_log#
access_log
path [format [buffer=
size] [gzip=
level]] [flush=
time] [if=
condition]];access_log
off
;access_log logs/access.log combined;
(la ruta depende del parámetro de compilación build parameter --http-log-path
)buffer
o se especifica el parámetro gzip
, la escritura se realizará en búfer.gzip
, el búfer se comprimirá antes de escribirse en el archivo. El nivel de compresión se puede establecer en el rango de 1 (más rápido, pero peor compresión) a 9 (más lento, pero 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 ser descomprimido o leído usando la utilidad zcat.access_log /path/to/log.gz combined gzip flush=5m;
server {
root /spool/vhost/data/$host;
access_log /spool/vhost/logs/$host;
...
if
habilita el registro condicional. Una solicitud no se registrará si el resultado de la evaluación de la condición es "0"
o una cadena vacía. En el siguiente ejemplo, las solicitudes con códigos de respuesta 2xx y 3xx no se registrarán:map $status $loggable {
~^[23] 0;
default 1;
}
access_log /path/to/access.log combined if=$loggable;
log_format#
log_format
name [escape
=:samp:default | json
| none
] string ...;log_format combined "...";
escape
permite configurar el escape de caracteres a json
o
default
en variables; por defecto se usa 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 escribirá un guion "-" en el registro como valor.json
, todos los caracteres no permitidos en cadenas JSON
son escapados: los caracteres """ y "\" se escapan como "\"" y "\\",
los caracteres con valores menores que 32 se escapan como "\n", "\r", "\t", "\b", "\f", o
"\u00XX".sent_http_
,
por ejemplo, $sent_http_content_range
.combined
siempre existe en la configuración:log_format combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
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
, después del cual el descriptor de archivo permanecerá abierto en la caché.
El valor predeterminado es 1.valid
off
open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;