Saya menguji nginx dan ingin menampilkan variabel ke file log. Bagaimana saya bisa melakukan itu dan file log mana yang akan digunakan (akses atau kesalahan).
83
Anda dapat mengirim nilai variabel nginx melalui header. Berguna untuk pengembangan.
add_header X-uri "$uri";
dan Anda akan melihat di header respons browser Anda:
X-uri:/index.php
Saya terkadang melakukan ini selama pengembangan lokal.
Ini juga berguna untuk memberi tahu Anda jika suatu ayat dijalankan atau tidak. Cukup taburkan di dalam klausa Anda untuk melihat apakah klausa itu digunakan.
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)$ {
add_header X-debug-message "A static file was served" always;
...
}
location ~ \.php$ {
add_header X-debug-message "A php file was used" always;
...
}
Jadi mengunjungi url seperti http://www.example.com/index.php akan memicu tajuk yang terakhir saat mengunjungi http://www.example.com/img/my-ducky.png akan memicu tajuk yang sebelumnya.
add_header
akan berfungsi pada permintaan yang berhasil . Dokumentasi menyatakan bahwa itu hanya dapat diterapkan pada tanggapan dengan kode 200, 204, 301, 302 atau 304. Oleh karena itu, tidak dapat digunakan untuk men-debug kesalahan HTTP.add_header
yang akan mengembalikan header, tidak peduli apa kode respon. Jadi misalnya,add_header X-debug-message "A php file was used" always;
harus bekerja bahkan untuk 500 kode kesalahan.Anda dapat mengembalikan string sederhana sebagai respons HTTP:
sumber
Anda dapat mengatur format log akses khusus menggunakan
log_format
arahan yang mencatat variabel yang Anda minati.sumber
error_log
kedebug
sehingga Anda dapat melihat nilai variabel dan blok yang dieksekusi. Contoherror_log file.log debug
-
dalam log, tetapi benar-benar kosong dalam kode nginx, Anda tidak boleh memeriksa-
kapan saja. Ini terkadang membingungkan pengguna.Opsi lain adalah memasukkan modul gema ketika Anda membangun nginx, atau menginstal OpenResty yang dibundel dengan banyak ekstensi nginx (seperti gema.)
Kemudian Anda bisa menaburkan konfigurasi Anda dengan pernyataan seperti:
sumber
echo_log
arahan dalam pengembangan.