Apakah mungkin untuk mencatat data respons di log akses nginx?
13
Saya mencoba mencetak data respons untuk keperluan pengembangan / debugging. Saya tidak dapat menemukan pertanyaan serupa atau info apa pun tentang ini. Jika ya, tambahkan komentar.
Dalam kode, kita tampaknya meletakkan 1000 byte pertama dari respons chunk dan meletakkan ke resp_body yaitu di baris ini "resp_body = string.sub (ngx.arg [1], 1, 1000)". Apakah ada alasan khusus untuk ini menjadi 1000.
doon
Dalam kasus saya ini tidak memberi saya respons tetapi memberi saya jalur log seperti ini "resp_body:" "access_log / usr / local / openresty / nginx / logs / access.logupstreamlog" Bisakah Anda menyarankan apa yang salah?
Modul gema dan contohnya memberikan bicara tentang cara mencatat header permintaan / badan tetapi saya ingin mencatat badan tanggapan. Terima kasih petermolanar.
Jawaban:
Gunakan
body_filter_by_lua
untuk menetapkan badan permintaan ke variabel nginx, berikut adalah contohnya:sumber
gunakan modul ngx_lua
seperti ini
di kanan
location
sumber
ngx.DEBUG
. CRIT mungkin dicetak ke konsol, diemail ke seluruh tim sysadmin, dll ...Saya telah menemukan ini sebagai contoh , dan saya pikir modul gema juga dapat melakukannya.
sumber