ngx_http_session_log_module 模組

範例設定
指令
     session_log
     session_log_format
     session_log_zone
內嵌變數

ngx_http_session_log_module 模組啟用記錄會話(即多個 HTTP 請求的聚合)而不是單個 HTTP 請求。

此模組可作為我們的商業訂閱的一部分提供。

範例設定

以下設定設定了一個會話日誌,並根據請求客戶端位址和 “User-Agent” 請求標頭欄位將請求對應到會話。

    session_log_zone /path/to/log format=combined
                     zone=one:1m timeout=30s
                     md5=$binary_remote_addr$http_user_agent;

    location /media/ {
        session_log one;
    }

指令

語法 session_log 名稱 | off;
預設
session_log off;
上下文 httpserverlocation

啟用使用指定的會話日誌。特殊值 off 取消從先前的設定層級繼承的 session_log 指令的效果。

語法 session_log_format 名稱 字串 ...;
預設
session_log_format combined "...";
上下文 http

指定日誌的輸出格式。 $body_bytes_sent 變數的值會跨會話中的所有請求聚合。所有其他可用於記錄的變數的值都對應於會話中的第一個請求。

語法 session_log_zone 路徑 zone=名稱:大小 [format=格式] [timeout=時間] [id=id] [md5=md5] ;
預設
上下文 http

設定日誌檔案的路徑,並設定用於儲存當前活動會話的共享記憶體區域。

只要會話中上次請求以來經過的時間不超過指定的 timeout(預設為 30 秒),就會將會話視為活動狀態。一旦會話不再處於活動狀態,它就會被寫入日誌。

id 參數識別請求對應的會話。 id 參數設定為 MD5 雜湊的十六進制表示形式(例如,使用變數從 cookie 取得)。如果未指定此參數或未表示有效的 MD5 雜湊,nginx 將從 md5 參數的值計算 MD5 雜湊,並使用此雜湊建立新的會話。 idmd5 參數都可以包含變數。

format 參數設定由 session_log_format 指令設定的自訂會話日誌格式。如果未指定 format,則使用預先定義的 “combined” 格式。

內嵌變數

ngx_http_session_log_module 模組支援兩個內嵌變數

$session_log_id
目前會話 ID;
$session_log_binary_id
二進制形式的目前會話 ID (16 位元組)。