本文主要是介绍查阅日志小技巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码上线,无法debug?查阅日志困难,花了大量时间依然没有头绪?
下面介绍几种查阅、分析日志时常用的小技巧,会让你事半功倍。
1.对于线上实时的报错,可以用tail查看。
例如:tail -f /usr/local/var/log/nginx/access.log
查看access.log后面10行数据。最大的功能不是这个,而是你再刷新页面后,能实时看到更新的日志,例如,我先敲几个空格,然后再刷新新页面,可以看到新的请求log。是不是很方便呢?
127.0.0.1 - - [12/Apr/2016:10:03:39 +0800] "POST /cgi-bin/httpconn HTTP/1.1" 404 5 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 127.0.0.1 - - [12/Apr/2016:10:03:40 +0800] "POST /cgi-bin/httpconn HTTP/1.1" 404 5 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 127.0.0.1 - - [12/Apr/2016:10:03:43 +0800] "POST /cgi-bin/httpconn HTTP/1.1" 404 5 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 127.0.0.1 - - [12/Apr/2016:10:03:43 +0800] "POST /cgi-bin/httpconn HTTP/1.1" 404 5 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 127.0.0.1 - - [12/Apr/2016:10:03:43 +0800] "POST /cgi-bin/httpconn HTTP/1.1" 404 5 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 127.0.0.1 - - [12/Apr/2016:10:35:40 +0800] "GET /weimob/login HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36" 127.0.0.1 - - [12/Apr/2016:10:40:12 +0800] "GET /weimob/login/ HTTP/1.1" 502 537 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36" 127.0.0.1 - - [12/Apr/2016:10:45:26 +0800] "GET /weimob/login/ HTTP/1.1" 504 537 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36" 127.0.0.1 - - [12/Apr/2016:10:49:10 +0800] "GET /weimob/login/ HTTP/1.1" 502 537 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36" 127.0.0.1 - - [12/Apr/2016:10:53:20 +0800] "GET /weimob/login/ HTTP/1.1" 502 537 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36" 127.0.0.1 - - [12/Apr/2016:11:12:58 +0800] "GET /weimob/login/ HTTP/1.1" 302 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36"
2. 查找相关字符的日志
例如;我在消息队列的任务开始执行前,写入log:
logger.info('begin doing something')
在查找时可以这样:
cat /usr/local/var/log/nginx/xxx.log | grep "begin doing something"
在文件不大的时候,也可以打开文件查找:vim /usr/local/var/log/nginx/xxx.log
然后输入 /begin doing something 或者 ?begin doing something
/ 表示从日志开头查起, ? 表示从日志的结尾开始查找
配合使用命令:
n: 查找下一个匹配的字符
N: 查找上一个匹配的字符
按方向键上下一行一行不方便?
可以使用 control+f 向后翻页
control+b 向前翻页。
光看没用,找点log自己试试吧!
这篇关于查阅日志小技巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!