婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Nginx設置日志打印post請求參數(shù)的方法

Nginx設置日志打印post請求參數(shù)的方法

熱門標簽:百度地圖底圖標注 中國地圖標注上各個省 激光標記地圖標注 企業(yè)辦理400電話收費標準 撫州市城區(qū)地圖標注 新鄉(xiāng)牧野400電話申請 高德地圖標注足跡怎么打標 智能電銷機器人真的有用么 電銷智能機器人試用

【前言】

        我們項目的短信功能是接第三方,原來對接第三方給我們回執(zhí)確認請求是get請求我們在排查問題的時候可以通過nginx的日志拿到對方給我們請求的參數(shù);最近我們換了另外一家第三方,新的第三方給我們的確認請求是post,遇到問題排查,發(fā)現(xiàn)nginx沒有打印具體參數(shù),于是查閱一些資料和運維一起做了實驗和線上調整,調整后我們可以拿到請求參數(shù),更方便我們排查問題;

【Nginx設置打印post請求參數(shù)】

           一、Nginx配置文件(nginx.conf)設置打印post請求參數(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,'
            '"agent": "$http_user_agent" }';

   access_log /var/log/nginx/access.log main;

           二、設置前后的效果對比

                  1、發(fā)送請求的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",
      "smsCount":1,
      "status":{
        "id":5,
        "groupId":3,
        "groupName":"DELIVERED",
        "name":"DELIVERED_TO_HANDSET",
        "description":"Message delivered to handset"
      },
      "error":{
        "groupId":0,
        "groupName":"OK",
        "id":0,
        "name":"NO_ERROR",
        "description":"No Error",
        "permanent":false
      }
    }
  ]
}

                  2、設置前post請求,nginx打印的結果,很顯然沒有將參數(shù)打印出來

                  3、設置后post請求,nginx打印參數(shù),發(fā)現(xiàn)參數(shù)雖然打印出來但是有亂碼情況

                  4、解決亂碼

                      (1)需要在log_format main后加 escape=json

                      (2)nginx的版本需要是1.15.1及以上

                      (3)滿足以上最終打印出的結果

           三、看nginx日志必要性

                  1、更加全面:它可以記錄訪問者的ip瀏覽器以及請求參數(shù)等信息比java的請求日志更加全面;

                  2、請求大時,java程序處理不過來,這時java日志沒有多余訪問請求,而nginx中有,有利于排查問題,優(yōu)化系統(tǒng)性能。

【總結】

        1、通過日志可以快速定位問題;

        2、排查問題時考慮要全面,從多過維度去思考。

到此這篇關于Nginx設置日志打印post請求參數(shù)的方法的文章就介紹到這了,更多相關Nginx 日志打印post請求參數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:辛集 忻州 西安 南通 邯鄲 臨汾 海西 延安

巨人網(wǎng)絡通訊聲明:本文標題《Nginx設置日志打印post請求參數(shù)的方法》,本文關鍵詞  Nginx,設置,日志,打印,post,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Nginx設置日志打印post請求參數(shù)的方法》相關的同類信息!
  • 本頁收集關于Nginx設置日志打印post請求參數(shù)的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 宜宾市| 嵊州市| 当涂县| 濮阳县| 西吉县| 商城县| 延长县| 广州市| 阿瓦提县| 象州县| 民丰县| 天峨县| 长宁县| 互助| 和平县| 宁安市| 玉溪市| 新化县| 沈丘县| 汉中市| 宁远县| 阆中市| 阜新市| 新密市| 湘阴县| 汉中市| 工布江达县| 大同县| 兴化市| 信丰县| 晋州市| 威宁| 荆门市| 双城市| 察哈| 武安市| 新津县| 东辽县| 进贤县| 镇雄县| 普安县|