Est-il possible de consigner les données de réponse dans le journal d'accès nginx?
13
J'essaie d'imprimer les données de réponse à des fins de développement / débogage. Je n'ai pas pu trouver une question similaire ou des informations à ce sujet. Si vous le faites, veuillez ajouter un commentaire.
Dans le code, nous semblons mettre les 1000 premiers octets du bloc de réponse et les mettre dans resp_body, c'est-à-dire dans cette ligne "resp_body = string.sub (ngx.arg [1], 1, 1000)". Y a-t-il une raison spécifique pour que ce soit 1000.
doon
Dans mon cas, il ne me donne pas de corps de réponse mais me donne le chemin du journal comme celui-ci "resp_body:" "access_log / usr / local / openresty / nginx / logs / access.logupstreamlog" Pouvez-vous s'il vous plaît suggérer ce qui ne va pas?
Le module d'écho et l'exemple fourni parlent de la journalisation des en-têtes / corps de demande mais je veux journaliser le corps de réponse. Merci petermolanar.
Réponses:
Utilisez
body_filter_by_lua
pour affecter le corps de la requête à une variable nginx, voici un exemple:la source
utiliser le module ngx_lua
comme ça
dans le droit
location
la source
ngx.DEBUG
. CRIT pourrait être imprimé sur la console, envoyé par e-mail à toute l'équipe sysadmin, etc ...J'ai trouvé celui-ci par exemple , et je pense que le module d'écho peut également le faire.
la source