一.access_log指令
語法: access_log path [format [buffer=size [flush=time]]];
access_log path format gzip[=level] [buffer=size] [flush=time];
access_log syslog:server=address[,parameter=value] [format];
access_log off;
預設值: access_log logs/access.log combined;
配置段: http, server, location, if in location, limit_except
gzip壓縮等級。
buffer設定記憶體快取區大小。
flush儲存在快取區中的最長時間。
不記錄日誌:access_log off;
使用預設combined格式記錄日誌:access_log logs/access.log 或 access_log logs/access.log combined;
二. log_format指令,設定日誌格式
語法: log_format name string …;
預設值: log_format combined 「…」;
配置段: http
三.open_log_file_cache指令
語法: open_log_file_cache max=n [inactive=time] [min_uses=n] [valid=time];
open_log_file_cache off;
預設值: open_log_file_cache off;
配置段: http, server, location
對於每一條日誌記錄,都將是先開啟檔案,再寫入日誌,然後關閉。可以使用open_log_file_cache來設定日誌檔案快取(預設是off),格式如下:
引數注釋如下:
max:設定快取中的最大檔案描述符數量,如果快取被佔滿,採用lru演算法將描述符關閉。
inactive:設定存活時間,預設是10s
min_uses:設定在inactive時間段內,日誌檔案最少使用多少次後,該日誌檔案描述符記入快取中,預設是1次
valid:設定檢查頻率,預設60s
off:禁用快取
四. log_not_found指令
語法: log_not_found on | off;
預設值: log_not_found on;
配置段: http, server, location
是否在error_log中記錄不存在的錯誤。預設是。
五.log_subrequest指令
語法: log_subrequest on | off;
預設值: log_subrequest off;
配置段: http, server, location
是否在access_log中記錄子請求的訪問日誌。預設不記錄。
六.rewrite_log指令
由ngx_http_rewrite_module模組提供的。用來記錄重寫日誌的。對於除錯重寫規則建議開啟。
語法: rewrite_log on | off;
預設值: rewrite_log off;
配置段: http, server, location, if
啟用時將在error log中記錄notice級別的重寫日誌。
七. error_log指令
語法: error_log file | stderr | syslog:server=address[,parameter=value] [debug | info | notice | warn | error | crit | alert | emerg];
預設值: error_log logs/error.log error;
配置段: main, http, server, location
配置錯誤日誌。
error_log 級別分為 debug, info, notice, warn, error, crit 預設為crit, 該級別在日誌名後邊定義格式如下
八,日誌關閉及其他
1.關閉日誌
error_log|access_log /dev/null;
2.如果在server段沒有設定日誌記錄方式,那麼將會逐步向上去尋找,如果找不到,則使用nginx預設的日誌記錄方式.
參考:九.日誌按日輪轉
在/etc/logrotate.d新建配置檔案/輪轉日誌目錄/*.log
手動呼叫(是否輪轉取決於是否滿足條件):
logrotate /etc/logrotate.d/log-file
模擬呼叫(不會實際生效,只是模擬):
logrotate -d /etc/logrotate.d/log-file
強制輪**
logrotate -f /etc/logrotate.d/log-file
配置日誌輪轉
日誌記錄會隨著執行時間的增長不斷增加 日誌檔案所占用的空間也越來越大 利用logrotate 日誌輪轉機制。可以有效控制日誌規模 實現自動化運維 檢視 etc logrotate.conf的有效檔案 egrep v etc logrota.conf 一下需要說明如果沒有自定義輪轉 那麼就按照全域性的...
LINUX logrotate日誌輪轉
問題 1 針對 var log admin.log設定輪轉,要求如下 2 要求每天輪轉一次 保留3個備份 啟用壓縮 3 日誌不存在時忽略 4 當檔案大於100k也達到一天時自動輪轉 5 建立的新檔案許可權0600,所有者root,所屬組root 方案logrotate輪轉優點 減小日誌檔案大小,降低...
logrotate日誌輪轉
主要實現以下要求 每天輪轉一次 保留3個備份 啟用壓縮 日誌不存在時忽略 當檔案大於100k也達到一天時自動輪轉 建立的新檔案許可權0600,所有者root,所屬組root 可以寫在全域性配置檔案中也可以寫在自定義配置檔案中,推薦自定義配置檔案。命令操作如下所示 root svr5 cd etc l...