随笔

Nginx 日志

唔 默认的格式缺点可以分析的东西, 所以改了下格式

默认格式

正则匹配

//140.205.205.25 - - [24/Jan/2018:06:29:44 +0800] "GET / HTTP/1.1" 200 1163 "-" "Scrapy/1.5.0 (+https://scrapy.org)" "-"
r, _ := regexp.Compile(`([^ ]*) ([^ ]*) ([^ ]*) (\[.*\]) (\".*?\") (-|[0-9]*) (-|[0-9]*) (\".*?\") (\".*?\")`)
resu := r.FindStringSubmatch(line)
fmt.Println(resu[1]) // IP地址
fmt.Println(strings.TrimRight(strings.TrimLeft(resu[4], "["),"]")) // 时间及市区
fmt.Println(strings.Split(strings.Trim(resu[5], "\""), " ")) // 协议及地址
fmt.Println(resu[6]) // 状态
fmt.Println(resu[7]) // 返回长度
fmt.Println(strings.Trim(resu[9], "\"")) // UserAgent

beta1

'$request_id $remote_addr [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" '
'$request_time';

// 38b196d80b04e9d78a044fbbf6d45f26 117.34.28.13 [24/Jan/2018:23:52:13 +0800] "HEAD / HTTP/1.1" 200 0 "-" "Baidu-YunGuanCe-SLABot(ce.baidu.com)" 0.000

本文链接:https://note.lilonghe.net/post/nginx-log.html

-- EOF --