nginx日誌格式access_log日誌格式
log_format main '$server_name$remote_addr$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer"' '"$http_user_agent""$http_x_forwarded_for"';
日誌參數
server_name : 虛擬機器主機的主機名稱remote_addr : 遠程用戶端的ip地址remote_user : 遠程用戶端使用者名稱稱time_local : 訪問的時間與時區status : 記錄請求返回的http狀態代碼body_bytes_sent : 發送給用戶端的檔案主體內容的大小http_referer : 從哪個頁面連結訪問過來 http_user_agent : 用戶端瀏覽器資訊http_x_forwarded_for : 用戶端的真實ip
日誌分割符使用特殊的不可列印字元^A(ctrl+v,ctrl+a)作為日誌分割符根據關鍵字過濾檔案內容需求根據http的請求裡是否有“weibo”這個關鍵字提取檔案的內容php代碼
/** * Description:按行讀取檔案內容進行過濾匹配 * * @return array */ function readFileContent ($filename) { $weibo_content = array(); $fh = @fopen($filename, 'r'); if ($fh) { while (! feof($fh)) { $row = fgets($fh, 4096); $row_arr = explode("", $row); if (isset($row_arr[3]) && preg_match('/weibo/', $row_arr[3])) { $weibo_content[] = $row_arr; } } } fclose($fh); return $weibo_content; }