linux查看日志的幾種方法
作為開發項目出了bug想要最快速定位到問題所在,查看日志是最好不過的了~(當然,也要習慣在業務關鍵點設置日志)。
最常用查看日志方法:
·實時日志:tail -f XXX.log
·搜索關鍵字附近日志:cat -n filename | grep "關鍵字"
下面詳細看下⬇⬇⬇:
查看日志常用命令
tail:
-n 是顯示行號;相當於nl命令;例子如下:
tail -100f test.log 實時監控100行日志
tail -n 10 test.log 查詢日志尾部最后10行的日志;
tail -n +10 test.log 查詢10行之后的所有日志;
head:
跟tail是相反的,tail是看后多少行日志,而head是查看日志文件的頭多少行,例子如下:
head -n 10 test.log 查詢日志文件中的頭10行日志;
head -n -10 test.log 查詢日志文件除了最后10行的其他所有日志;
cat:
tac是倒序查看,是cat單詞反寫;例子如下:
cat -n test.log |grep "debug" 查詢關鍵字的日志(常用!~)
vim:
1、進入vim編輯模式:vim filename
2、輸入“/關鍵字”,按enter鍵查找
3、查找下一個,按“n”即可
退出:按ESC鍵后,接着再輸入:號時,vi會在屏幕的最下方等待我們輸入命令
wq! 保存退出
q! 不保存退出
列出幾種常見的應用場景⬇⬇⬇:
查看日志應用場景一:按行號查看:過濾出關鍵字附近的日志
(1) cat -n test.log |grep "debug" 得到關鍵日志的行號
(2) cat -n test.log |tail -n +92|head -n 20 選擇關鍵字所在的中間一行. 然后查看這個關鍵字前10行和后10行的日志:
tail -n +92表示查詢92行之后的日志
head -n 20 則表示在前面的查詢結果里再查前20條記錄
查看日志應用場景二:根據日期查詢日志
(1) sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特別說明:
上面的兩個日期必須是日志中打印出來的日志,否則無效
先 grep '2014-12-17 16:17:20' test.log 來確定日志中是否有該時間點
查看日志應用場景三:日志內容特別多,打印在屏幕上不方便查看,分頁/保存文件查看
(1)使用more和less命令,
如: cat -n test.log |grep "debug" |more 這樣就分頁打印了,通過點擊空格鍵翻頁
(2)使用 >xxx.txt 將其保存到文件中,到時可以拉下這個文件分析
如:cat -n test.log |grep "debug" >debug.txt