¿Es posible registrar los datos de respuesta en el registro de acceso nginx?
13
Estoy tratando de imprimir los datos de respuesta para fines de desarrollo / depuración. No pude encontrar una pregunta similar ni ninguna información sobre esto. Si lo hace, agregue un comentario.
En el código, parece que ponemos los primeros 1000 bytes del fragmento de respuesta y lo ponemos en resp_body, es decir, en esta línea "resp_body = string.sub (ngx.arg [1], 1, 1000)". ¿Hay alguna razón específica para que esto sea 1000?
doon
En mi caso, no me da un cuerpo de respuesta, pero me da la ruta de acceso de registro como este "resp_body:" "access_log / usr / local / openresty / nginx / logs / access.logupstreamlog" ¿Puede sugerir qué está mal?
Creo que preferiría usar ngx.DEBUG. CRIT podría imprimirse en la consola, enviarse por correo electrónico a todo el equipo del administrador del sistema, etc.
El módulo echo y el ejemplo proporcionado hablan sobre el registro de los encabezados / cuerpo de la solicitud, pero quiero registrar el cuerpo de la respuesta. Gracias petermolanar.
Respuestas:
Use
body_filter_by_lua
para asignar el cuerpo de la solicitud a una variable nginx, aquí hay un ejemplo:fuente
use el módulo ngx_lua
Me gusta esto
en lo correcto
location
fuente
ngx.DEBUG
. CRIT podría imprimirse en la consola, enviarse por correo electrónico a todo el equipo del administrador del sistema, etc.He encontrado este, por ejemplo , y creo que el módulo de eco también puede hacerlo.
fuente