查看服務器、應用運行日志,這是每個程序員必備的工作技能,因為,日志是最好的查找出錯問題在哪的途徑。如果當服務器爆了,你卻連如何定位錯誤都不知道?那么,這鍋你是背定了。。。
今天,我們就針對大量日志記錄中,如何快速定位錯誤?來聊一聊。
針對大量log日志快速定位錯誤地方
動態查看日志
tail-fcatalina.ou
從頭打開日志文件
catcatalina.ou
可以使用>nanjiangtest.txt
輸出某個新日志去查看
[root@yeskylogs]#cat-ncatalina.out|grep717892466>nanjiangtest.txt
tail/head簡單命令使用
[root@yeskylogs]#tail-nnumbercatalina.out查詢日志尾部最后number行的日志
[root@yeskylogs]#tail-n+numbercatalina.out查詢number行之后的所有日志
[root@yeskylogs]#head-nnumbercatalina.out查詢日志文件中的前number行日志
[root@yeskylogs]#head-n-numbercatalina.out查詢日志文件除了最后number行的其他所有日志
第一種方式(根據關鍵字查找出行號)
用grep拿到的日志很少,我們需要查看附近的日志。我是這樣做的,首先:cat -n test.log | grep “關鍵詞”
得到關鍵日志的行號
[root@yeskylogs]#cat-ncatalina.out|grep717892466
13230539 [11:07 1711] INFO nanjiang:Edit Old Article:717892466-2020-11-07 1711
13230593 [11:07 1715] INFO nanjiangSave Article ID IS:717892466
13230595717892466article.getDisplayTime()1=2020-11-071611
13230596717892466article.getDisplayTime()2=2020-11-071611
13230601[11:071715]INFO南江10.10.10.39editarticle717892466編輯文章
「cat -n catalina.out|tail -n +13230539|head -n 10」
-
tail -n +13230539
表示查詢13230539行之后的日志 -
head -n 10
則表示在前面的查詢結果里再查前10條記錄
[root@yeskylogs]#cat-ncatalina.out|tail-n+13230539|head-n10
13230539 [11:07 1711] INFO nanjiang:Edit Old Article:717892466-2020-11-07 1711
13230540[11:071711]INFOTakes:2msclasscom.tmg.cms.manager.dao.article.impl.ArticleContentDaoImplgetListByArticleId[NzE3ODkyNDY2][int]
13230541[11:071711]INFOTakes:1msclasscom.tmg.cms.manager.dao.resourceImage.impl.ResourceImageDaoImplload
13230542[11:071711]INFOTakes:0msclasscom.tmg.cms.manager.dao.resourceImage.impl.ResourceImageDaoImplload
13230543[11:071711]INFOTakes:1msclasscom.tmg.cms.manager.dao.resourceImage.impl.ResourceImageDaoImplload
13230544 [11:07 1711] INFO article.getImage3:/uploadImages/2020/312/02/3NXCRK4U3589_2.jpg
13230545[11:071711]INFOTakes:0msclasscom.tmg.cms.manager.dao.resourceImage.impl.ResourceImageDaoImplload
13230546[11:071711]INFOTakes:2msclasscom.tmg.cms.manager.dao.privilege.impl.UserDaoImplgetUserByid
13230547[11:071711]INFOTakes:57msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplselectSitemapWithoutAudit[MQ==][int]
13230548[11:071711]INFOTakes:5msclasscom.tmg.cms.manager.dao.forbidword.impl.ForbidwordDaoImplgetForbidwordBysiteid[MjI=][int]
第二種方式:查看指定時間段內的日志
首先要進行范圍時間段內日志查詢先查看是否在當前日之內存在,
grep'11:071820'catalina.out
grep'11:071811'catalina.out
時間范圍內的查詢
sed-n'/11:071820/,/11:071811/p'catalina.out
sed-n'/11:0718/,/11:0718/p'catalina.out
第三種方式:查看日志中特定字符的匹配數目
[root@yeskylogs]#grep'1175109632'catalina.out|wc-l
154
第四種方式:查詢最后number行,并查找關鍵字“結果”
[root@yeskylogs]#tail-n20catalina.out|grep'INFOTakes:1'
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.config.impl.ConfigInfoDaoImplload
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTkwOTQ5][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI0][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI3][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzMw][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzA5NA==][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[Mzc4Mg==][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[OTM1MA==][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE5MDMw][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTQ2MzQw][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTg2NzYy][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzYyMjA=][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.configModule.impl.ConfigModuleDaoImplgetPersonMenuList
第五種方式:查詢最后number行,并查找關鍵字“結果”并且對結果進行標紅
[root@yeskylogs]#tail-n20catalina.out|grep'INFOTakes:1'--color
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.config.impl.ConfigInfoDaoImplload
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTkwOTQ5][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI0][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI3][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzMw][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzA5NA==][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[Mzc4Mg==][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[OTM1MA==][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE5MDMw][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTQ2MzQw][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTg2NzYy][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzYyMjA=][int]
第六種方式:查詢最后number行,并查找關鍵字“結果”并且對結果進行標紅,上下擴展兩行
[root@yeskylogs]#tail-n20catalina.out|grep'INFOTakes:1'--color-a2
[11:112251]INFOTakes:0msclasscom.tmg.cms.manager.dao.article.impl.ArticleContentDaoImplgetArticlePageNum[NzE4MTM2ODky][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.config.impl.ConfigInfoDaoImplload[com.tmg.cms.manager.model.config.ConfigInfo]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTkwOTQ5][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI0][int]
[11:112251]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI1][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI3][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzMw][int]
[11:112251]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzAzNg==][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzA5NA==][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[Mzc4Mg==][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[OTM1MA==][int]
[11:112251]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE0MjQ4][int]
[11:112251]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE4MDc4][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE5MDMw][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTQ2MzQw][int]
[11:112251]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTQ3MTIw][int]
[11:112251]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTY4OTYx][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTg2NzYy][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzYyMjA=][int]
[11:112251]INFOTakes:1msclasscom.tmg.cms.manager.dao.configModule.impl.ConfigModuleDaoImplgetPersonMenuList[com.tmg.cms.manager.model.config.ConfigPersonMenu]
第七種方式:分頁查看,使用空格翻頁(使用more/less)
[root@yeskylogs]#tail-n2000catalina.out|grep'INFOTakes:1'--color-a2|more
[root@yeskylogs]#tail-n2000catalina.out|grep'INFOTakes:1'--color-a2|less
附加
1.全屏導航
-
ctrl + F
- 向前移動一屏 -
ctrl + B
- 向后移動一屏 -
ctrl + D
- 向前移動半屏 -
ctrl + U
- 向后移動半屏
2.單行導航
-
j
- 向前移動一行 -
k
- 向后移動一行
3.其它導航
-
G
- 移動到最后一行 -
g
- 移動到第一行 -
q / ZZ
- 退出 less 命令
-
服務器
+關注
關注
12文章
9129瀏覽量
85344 -
程序員
+關注
關注
4文章
951瀏覽量
29799 -
日志
+關注
關注
0文章
138瀏覽量
10639
原文標題:服務器爆了,你卻連如何快速定位錯誤都不知道?這?鍋你背定了。。。
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論