Nginx設(shè)置日志打印post請(qǐng)求參數(shù)的方法
【】
我們項(xiàng)目的短信功能是接第三方,原來(lái)對(duì)接第三方給我們回執(zhí)確認(rèn)請(qǐng)求是get請(qǐng)求我們?cè)谂挪閱?wèn)題的時(shí)候可以通過(guò)nginx的日志拿到對(duì)方給我們請(qǐng)求的參數(shù);最近我們換了另外一家第三方,新的第三方給我們的確認(rèn)請(qǐng)求是post,遇到問(wèn)題排查,發(fā)現(xiàn)nginx沒(méi)有打印具體參數(shù),于是查閱一些資料和運(yùn)維一起做了實(shí)驗(yàn)和線上調(diào)整,調(diào)整后我們可以拿到請(qǐng)求參數(shù),更方便我們排查問(wèn)題;
【Nginx設(shè)置打印post請(qǐng)求參數(shù)】
一、Nginx配置文件(nginx.conf)設(shè)置打印post請(qǐng)求參數(shù):在http模塊的log_format中增加"dm":$request_body 防止中文亂碼,增加 escape=json
log_format main escape=json '{ "@timestamp": "$time_iso8601", ' '"remote_addr": "$remote_addr",' '"costime": "$request_time",' '"realtime": "$upstream_response_time",' '"status": $status,' '"x_forwarded": "$http_x_forwarded_for",' '"referer": "$http_referer",' '"request": "$request",' '"upstr_addr": "$upstream_addr",' '"bytes":$body_bytes_sent,' '"dm":$request_body,' '"age
二、設(shè)置前后的效果對(duì)比
1、發(fā)送請(qǐng)求的json格式
{ "results":[ { "price":{ "pricePerMessage":0.01, "currency":"aaa" }, "messageId":"ff4804ef-6ab6-4abd-984d-ab3b1387e852", "to":"385981178", "sentAt":"2015-02-12T09:58:20.323+0100", "doneAt":"2015-02-12T09:58:20.337+0100", "smsCou
2、設(shè)置前post請(qǐng)求,nginx打印的結(jié)果,很顯然沒(méi)有將參數(shù)打印出來(lái)
3、設(shè)置后post請(qǐng)求,nginx打印參數(shù),發(fā)現(xiàn)參數(shù)雖然打印出來(lái)但是有亂碼情況
4、解決亂碼
(1)需要在log_format main后加escape=json
(2)nginx的版本需要是1.15.1及以上
(3)滿足以上最終打印出的結(jié)果
三、看nginx日志必要性
1、更加全面:它可以記錄訪問(wèn)者的ip瀏覽器以及請(qǐng)求參數(shù)等信息比java的請(qǐng)求日志更加全面;
2、請(qǐng)求大時(shí),java程序處理不過(guò)來(lái),這時(shí)java日志沒(méi)有多余訪問(wèn)請(qǐng)求,而nginx中有,有利于排查問(wèn)題,優(yōu)化系統(tǒng)性能。
【總結(jié)】
1、通過(guò)日志可以快速定位問(wèn)題;
2、排查問(wèn)題時(shí)考慮要全面,從多過(guò)維度去思考。
到此這篇關(guān)于Nginx設(shè)置日志打印post請(qǐng)求參數(shù)的方法的文章就介紹到這了,更多相關(guān)Nginx 日志打印post請(qǐng)求參數(shù)內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。