Nginx如何對日志文件進行配置?


在我們日常工作開發中,對調試bug最重要的手段就是查看日志和斷點調試了。
今天我們來說日志文件,Nginx的日志文件一般保存的是訪問日志和錯誤日志。

1. 用來log_format指令設置日志格式

  log_format指令語法:log_format name format [format ...]
  Nginx默認的combined格式如下:
  log_format combined '$remote_addr - $remote_user [$time_local] '
                                      '"$request" $status $body_bytes_sent '
                                      '"$http_referer" "$http_user_agent"';
  定義日志使用的字段及其作用:

        $remote_addr            和$http_x_forward_for用於記錄IP地址
        $remote_user            用於記錄遠程客戶端用戶名稱
        $time_local             用於記錄訪問時間和時區
        $request                用於記錄請求URL與HTTP協議
        $status                 用於記錄請求狀態
        $body_bytes_sent        用於記錄發送給客戶端的文件主體內容大小,不包括響應頭的大小
        $http_referer           用於記錄是從哪個頁面鏈接訪問過來的
        $http_user_agent        用於記錄客戶端瀏覽器的相關內容
        $bytes_sent             用於發送給客戶端的總字節數
        $connection             用於連接的序列號
        $connection_requests    用於當前通過一個連接獲得的請求數量
        $msec                   用於日志寫入時間。單位為秒,精度是毫秒
        $pipe                   用於如果請求是通過HTTP流水線(pipelined)發送,pipe值為“p”,否則為“.”
        $request_length         用於請求的長度(包括請求行,請求頭和請求正文)
        $request_time           用於請求處理時間,單位為秒,精度毫秒
        $time_iso8601           用於ISO8601標准格式下的本地時間
        $time_local             用於記錄訪問時間與時區

2. 用access_log指令指定訪問日志文件存放路徑

    access_log指令語法:access_log path [format [buffer=size | off]]
    format即第一點中log_format的name,如何設置了format,那么日志文件就會按設置的日志格式生成日志文件.
    butter=size表示內存緩沖區的大小,例如可以設置buffer=32k

3. 用error_log指令指定錯誤日志文件存放路徑

    error_log    <FILE>    <LEVEL>;
    <FILE>:可以指定任意存放日志的目錄
    <LEVEL>:錯誤日志級別,常見的錯誤日志級別有[debug | info | notice | warn | error | crit | alert | emerg],級別越高記錄的信息越少。
    生產場景一般是 warn | error | crit 這三個級別之一

    關閉error_log的方法:error_log /dev/null;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM