Nginx按指定格式記錄訪問日志

今天突然想起來一個日志的一個東西,因為拉項目無意中看到了日志文件的一些東西,現在不經常做后端了,加上其他的一些原因吧.有時候有些問題也沒想太多,馬馬虎虎就過了,后來想想還是要記錄一下這方面的處理過程吧:?

一般我們作為開發人員關注的日志只是在應用程序層面的,我們稱它為應用程序日志,訪問日志和錯誤日志可以被認為是應用程序日志的一部分,因為它們都與應用程序的運行狀態和用戶訪問行為有關。

訪問日志:

其實我們在用常用的web服務器上都有這項功能,我們這里用Nginx舉例,我們的訪問日志一般正常都是什么設備在什么地址訪問了我們的什么資源,后端服務器的響應時間是多少,客戶端請求處理的總時間是多少;請求使用的 HTTP 方法等等,常見的基本上就上面的這些了,那我們就可以在Nginx的HTTP塊里面設置日志記錄參數就行了,比如下面的配置:

http {### Basic Settings##sendfile on;tcp_nopush on;types_hash_max_size 2048;# server_tokens off;# server_names_hash_bucket_size 64;# server_name_in_redirect off;include /etc/nginx/mime.types;default_type application/octet-stream;### SSL Settings##ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;### Logging Settings##log_format main '$remote_addr | $remote_user | [$time_local] | "$request" '' | $status $body_bytes_sent | "$http_referer" ''| "$http_user_agent" | "$http_x_forwarded_for" | "$request_method" | request_total_time:"$request_time" | "$upstream_response_time"';access_log /var/log/nginx/access.log main;error_log /var/log/nginx/error.log;### Gzip Settings##gzip on;# gzip_vary on;# gzip_proxied any;# gzip_comp_level 6;# gzip_buffers 16 8k;# gzip_http_version 1.1;# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;### Virtual Host Configs##include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;
}

首先我們肯定先把訪問日志打開(access_log),然后闡述一下上面的參數:

  1. $remote_addr:代表發起請求的客戶端的IP地址。

  2. $remote_user:代表經過身份驗證的用戶的用戶名,如果沒有身份驗證則為連字符(-)。

  3. [$time_local]:代表服務器處理請求時的本地時間,用方括號括起來。

  4. "$request":代表請求的第一行,包括HTTP方法、請求的URL和HTTP協議。

  5. |:是一個分隔符(管道符號),用于在日志條目中分隔不同的字段。

  6. $status:代表返回給客戶端的狀態碼(例如,成功請求的狀態碼為200)。

  7. $body_bytes_sent:代表發送給客戶端的響應的大小,以字節為單位。

  8. "$http_referer":代表Referer HTTP頭部,指示引導客戶端訪問當前頁面的頁面的URL。

  9. "$http_user_agent":代表User-Agent HTTP頭部,指示發起請求的客戶端的用戶代理(例如,瀏覽器)。

  10. "$http_x_forwarded_for":代表X-Forwarded-For HTTP頭部,如果請求經過代理服務器或負載均衡器,則可能包含一個逗號分隔的客戶端IP地址列表。

  11. "$request_method":代表請求中使用的HTTP方法(例如,GET、POST)。

  12. request_total_time:"$request_time":代表處理請求所花費的總時間,包括上游處理時間。數值被雙引號括起來。

然后我們重啟一下Nginx 服務器,再去請求就可以看到日志 文件已經陸續寫入了:看一下效果

你會看到access.log已經開始記錄了,那如果我們每每天都會有大量的記錄放在同一個文件會不會時間就了會很臃腫這個文件,至于這個問題你可以用?logrotate 日志輪轉操作去解決, 這邊我用了小時級別的劃分,每隔一個小時都會輪轉一下;

/var/log/nginx/*.log {hourlymissingokrotate 14compressdelaycompressnotifemptycreate 0640 www-data admsharedscriptsprerotateif [ -d /etc/logrotate.d/httpd-prerotate ]; then \run-parts /etc/logrotate.d/httpd-prerotate; \fi \endscriptpostrotateinvoke-rc.d nginx rotate >/dev/null 2>&1endscript
}
~                        

所以你會看到很多access.log文件,

關于logrotate后面會更新?,學過linux的應該都知道這個玩意,很方便的程序,基本也是Linux的預裝程序,時間有點夜深了,先寫到這里

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208550.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208550.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208550.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LSTM_預測價格問題_keras_代碼實操

0、問題描述 使用Bicton數據集,對close數據進行預測,使用60個數據點預測第61個數據點。 下載數據集:Bitcoin Historical Data 前期已經使用了MLP和RNN進行預測:這里 1、 沒有寫完,明天再寫:)…

POJ 3735 Training little cats 動態規劃(矩陣的冪)

一、題目大意 我們有N只貓&#xff0c;每次循環進行K次操作&#xff08;N<100&#xff0c;K<100&#xff09;&#xff0c;每次操作可有以下三種選擇&#xff1a; 1、g i 給第i只貓1個食物 2、e i 讓第i只貓吃完它所有的食物 3、s i j 交換第i和j只貓的食物。 求出M次…

JS自己定義數組擴展方法 求和 和 最大值、最小值

相信有小伙伴看到這一個標題可能會想&#xff1a;現在都可以自己寫方法了嗎&#xff1f;這么炸裂。沒錯我們是可以自己寫方法的。 1.我們定義的這個方法&#xff0c;任何一個數組實例對象都可以使用 2.自定義的方法寫到 數組.propertype身上 最大值 const arr [1,2,3,4]Array…

銷售技巧培訓之如何提高手機銷售技巧

銷售技巧培訓之如何提高手機銷售技巧 隨著科技的迅速發展&#xff0c;手機已成為我們日常生活中不可或缺的一部分。作為一名手機銷售員&#xff0c;了解手機銷售技巧是必不可少的。本文將通過案例分析與實踐&#xff0c;為你揭示手機銷售的奧秘。 一、了解客戶需求 在銷售過程…

AWS Remote Control ( Wi-Fi ) on i.MX RT1060 EVK - 3 “編譯 NXP i.MX RT1060”( 完 )

此章節敘述如何修改、建構 i.MX RT1060 的 Sample Code“aws_remote_control_wifi_nxp” 1. 點擊“Import SDK example(s)” 2. 選擇“MIMXRT1062xxxxA”>“evkmimxrt1060”&#xff0c;并確認 SDK 版本后&#xff0c;點擊“Next>” 3. 選擇“aws_examples”>“aw…

在 Docker 容器中運行 macOS:接近本機性能,實現高效運行 | 開源日報 No.96

cxli233/FriendsDontLetFriends Stars: 2.6k License: MIT 這個項目是關于數據可視化中好的和不好的實踐&#xff0c;作者通過一系列例子解釋了哪些圖表類型是不合適的&#xff0c;并提供了如何改進或替代它們。主要功能包括展示錯誤做法以及正確做法&#xff0c;并提供相應代…

【數值計算方法(黃明游)】解線性代數方程組的迭代法(一):向量、矩陣范數與譜半徑【理論到程序】

文章目錄 一、向量、矩陣范數與譜半徑1、向量范數a. 定義及性質補充解釋范數差 b. 常見的向量范數 l 1 l_1 l1?、 l 2 l_2 l2?、 l ∞ l_\infty l∞? 范數性質關系 2、矩陣范數a. 矩陣的范數b. 常見的矩陣范數相容范數算子范數 3、譜半徑4、知識點總結1. 向量范數2. 矩陣范數…

Mybatis XML 多表查詢

這篇需結合 <<Mybatis XML 配置文件>>那一篇博客一起看 工作中盡量避免使用多表查詢,尤其是對性能要求非常高的項目 我們之前建了個用戶表(代碼在Mybatis XML配置文件那篇博客里),這次再建一個文章表,代碼如下 : -- 創建?章表 DROP TABLE IF EXISTS articleinf…

vue中組件傳值方法

父組件給子組件傳值 一、 1.在子組件標簽中寫入父組件傳遞數據 向下傳遞prop 2.在子組件內聲明props選項接收父組件傳遞的數據 props:[,,] 父組件&#xff1a; <Header :msgmsg ></Header> 子組件&#xff1a; props:[msg], 二、 provide i…

vue 批量下載文件,不走后端接口的方法

今天ld提了一個需求&#xff0c;說頁面的列表里面有要下載的地址,然后點擊批量下載。我思索片刻&#xff0c;給出了代碼 1.這個是列表頁面的代碼 <!-- 這個是列表頁面的代碼 --> <el-table :data"userListShow" align"center"border highlight-…

AI 訓練框架:Pytorch TensorFLow MXNet Caffe ONNX PaddlePaddle

https://medium.com/jit-team/bridge-tools-for-machine-learning-frameworks-3eb68d6c6558

基于jsonrpc4j實現JSON-RPC over HTTP(服務端集成Spring Boot)

1.JSON-RPC說明 JSON-RPC是一個無狀態且輕量級的遠程過程調用(RPC)協議。 它主要定義了一些數據結構及其相關的處理規則。 它運行時可以基于tcp(socket),http等不同的消息傳輸方式&#xff0c; 即它不關心底層傳輸方式的細節。 它使用JSON&#xff08;RFC 4627&#xff09;作為…

Tabbar切換效果(vant)

route 是否開啟路由模式 <template><div class"layout-page"><!-- 二級路由出口 --><router-view></router-view><van-tabbar route><van-tabbar-item to"/home">首頁<!-- 圖標切換為active是高亮 -->&…

網絡知識點之-組播協議

組播協議&#xff0c;是一種允許將一臺主機發送的數據通過網絡路由器和交換機復制到多個加入此組播的主機&#xff0c;一對多的通訊方式。 簡介 組播協議與廣泛使用的單播協議的不同之處在于&#xff0c;一個主機用單播協議向n個主機發送相同的數據時&#xff0c;發送主機需要…

Git全局設置命令---設置提交人郵箱

介紹 使用git命令設置提交人郵箱。 命令 git config --global user.email "xxxxxxxx.com"

JAVA實現敏感詞高亮或打碼過濾:sensitive-word

練手項目中實現發表文章時檢測文章是否帶有敏感詞&#xff0c;以及對所有敏感詞的一鍵過濾功能 文章目錄 效果預覽實現步驟 效果預覽 隨便復制一篇內容到輸入框 機器審核文章存在敏感詞&#xff0c;彈消息提示并進入人工審核階段&#xff08;若機器審核通過&#xff0c;則無需審…

eclipse的日志文件放在什么位置

eclipse的日志文件放在<workspace的目錄>/.metadata目錄下面&#xff0c;例如&#xff1a;

html中一個div中平均一行分配四個盒子,可展開與收起所有的盒子

html中一個div中平均一行分配四個盒子&#xff0c;可展開與收起所有的盒子 1.截圖顯示部分 2.代碼展示部分 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"wid…

pytorch中五種常用隨機矩陣構造方法:rand、randn、randn_like、randint、randperm

1 torch.rand&#xff1a;構造均勻分布張量 torch.rand是用于生成均勻隨機分布張量的函數&#xff0c;從區間[0,1)的均勻分布中隨機抽取一個隨機數生成一個張量&#xff0c;其調用方法如下所示&#xff1a; torch.rand(sizes, outNone) ?? Tensor 參數&#xff1a; sizes&…

12.8_黑馬數據結構與算法筆記Java

目錄 044 遞歸 e04 冒泡排序2 044 遞歸 e05 插入排序1 044 遞歸 e05 插入排序2 045 多路遞歸 斐波那契 046 多路遞歸 斐波那契 時間復雜度 047 多路遞歸 斐波那契 兔子問題 048 多路遞歸 斐波那契 青蛙跳臺階 049 遞歸 優化 記憶法 050 遞歸 爆棧問題 051 遞歸 尾調用…