溫馨提示×

nginx日志格式:如何自定義日志輸出

小樊
43
2025-10-06 19:30:50
欄目: 編程語言

在 Nginx 中,你可以通過修改配置文件來自定義日志輸出格式。以下是如何自定義日志輸出的步驟:

  1. 打開 Nginx 配置文件。通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/your_domain.conf。

  2. http、serverlocation 塊中,使用 log_format 指令定義一個新的日志格式。例如,創建一個名為 my_custom_format 的自定義日志格式:

http {
    ...
    log_format my_custom_format '$remote_addr - $remote_user [$time_local] '
                               '"$request" $status $body_bytes_sent '
                               '"$http_referer" "$http_user_agent" '
                               '"$http_x_forwarded_for" "$request_time"';
    ...
}

在這個例子中,我們定義了一個包含以下字段的自定義日志格式:

  • $remote_addr:客戶端 IP 地址
  • $remote_user:遠程用戶(如果已通過身份驗證)
  • $time_local:本地時間
  • $request:請求行(包括請求方法、URI 和 HTTP 版本)
  • $status:響應狀態碼
  • $body_bytes_sent:發送給客戶端的響應體字節數
  • $http_referer:引用頁面的 URL
  • $http_user_agent:客戶端用戶代理信息
  • $http_x_forwarded_for:X-Forwarded-For 請求頭(如果存在)
  • $request_time:處理請求所花費的時間

你可以根據需要添加或刪除字段。

  1. serverlocation 塊中,使用 access_log 指令指定要使用的自定義日志格式。例如,將自定義日志格式應用于名為 my_domain.com 的站點:
http {
    ...
    server {
        listen 80;
        server_name my_domain.com;

        access_log /var/log/nginx/my_domain.com.access.log my_custom_format;

        ...
    }
}

在這個例子中,我們將自定義日志格式 my_custom_format 應用于名為 my_domain.com 的站點的訪問日志,并將其存儲在 /var/log/nginx/my_domain.com.access.log 文件中。

  1. 保存更改并重新加載 Nginx 配置以應用新的日志格式:
sudo nginx -t      # 檢查配置文件語法是否正確
sudo nginx -s reload  # 重新加載配置文件

現在,Nginx 將使用你定義的自定義日志格式輸出日志。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女