Linux大量日志,7个方法教你快速定位错误!

2024年 5月 25日 42.7k 0

针对大量log日志快速定位错误地方

动态查看日志


tail -f catalina.ou

从头打开日志文件


cat catalina.ou

可以使用 
>nanjiangtest.txt 输出某个新日志去查看

[root@yesky logs]# cat -n catalina.out |grep 717892466 >nanjiangtest.txt

tail/head简单命令使用:

[root
@yesky logs]# tail -n number catalina.out 查询日志尾部最后number行的日志

        [root @yesky logs]# tail -n +number catalina.out 查询number行之后的所有日志
        [root @yesky logs]# head -n number catalina.out 查询日志文件中的前number行日志
        [root @yesky logs]# head -n -number catalina.out 查询日志文件除了最后number行的其他所有日志

第一种方式(根据关键字查找出行号):

用grep拿到的日志很少,我们需要查看附近的日志。我是这样做的,首先: 
cat -n test.log | grep “关键词” 得到关键日志的行号

[root
@yesky logs]# cat -n catalina.out |grep 
717892466

13230539        [ 11: 07  17: 47: 11] INFO nanjiang:Edit Old Article: 717892466- 2020- 11- 07  17: 47: 11
13230593        [ 11: 07  17: 47: 15] INFO nanjiangSave Article ID IS: 717892466
13230595         717892466 article.getDisplayTime() 1 =  2020- 11- 07  16: 25: 11
13230596         717892466 article.getDisplayTime() 2 =  2020- 11- 07  16: 25: 11
13230601        [ 11: 07  17: 47: 15] INFO 南江  10.10 .10 .39  edit    article  717892466       编辑文章

「cat -n catalina.out|tail -n +13230539|head -n 10」

  • tail -n +13230539表示查询13230539行之后的日志

  • head -n 10则表示在前面的查询结果里再查前10条记录


[root
@yesky logs]# cat -n catalina.out |tail -n +
13230539|head -n 
10

13230539        [ 11: 07  17: 47: 11] INFO nanjiang:Edit Old Article: 717892466- 2020- 11- 07  17: 47: 11
13230540        [ 11: 07  17: 47: 11] INFO Takes: 2 ms  class  com. tmg. cms. manager. dao. article. impl. ArticleContentDaoImpl        getListByArticleId      [ NzE3ODkyNDY2]       [ int]
13230541        [11:07 17:47:11]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. resourceImage. impl. ResourceImageDaoImpl   load    
13230542        [11:07 17:47:11]  INFO  Takes:0  ms  class  com. tmg. cms. manager. dao. resourceImage. impl. ResourceImageDaoImpl   load    
13230543        [11:07 17:47:11]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. resourceImage. impl. ResourceImageDaoImpl   load    
13230544        [11:07 17:47:11]  INFO  article. getImage3:/ uploadImages/2020/312/02/3 NXCRK4U3589_2. jpg
13230545        [11:07 17:47:11]  INFO  Takes:0  ms  class  com. tmg. cms. manager. dao. resourceImage. impl. ResourceImageDaoImpl   load   
13230546        [11:07 17:47:11]  INFO  Takes:2  ms  class  com. tmg. cms. manager. dao. privilege. impl. UserDaoImpl        getUserByid     
13230547        [11:07 17:47:11]  INFO  Takes:57  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl      selectSitemapWithoutAudit       [ MQ==]  [ int]
13230548        [ 11: 07  17: 47: 11] INFO Takes: 5 ms  class  com. tmg. cms. manager. dao. forbidword. impl. ForbidwordDaoImpl         getForbidwordBysiteid   [ MjI=]  [ int]

第二种方式:查看指定时间段内的日志

首先要进行范围时间段内日志查询先查看是否在当前日之内存在,


grep 
'11:07 18:29:20' catalina.out

grep  '11:07 18:31:11' catalina.out

时间范围内的查询


sed -n 
'/11:07 18:29:20/,/11:07 18:31:11/p' catalina.out 

sed -n  '/11:07 18:29:/,/11:07 18:31:/p' catalina.out

第三种方式:查看日志中特定字符的匹配数目


[root
@yesky logs]# grep 
'1175109632' catalina.out | wc -l

154

第四种方式:查询最后number行,并查找关键字“结果”


[root
@yesky logs]# tail -n 
20 catalina.out | grep 
'INFO Takes:1'

[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. config. impl. ConfigInfoDaoImpl  load 
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTkwOTQ5] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzI0] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzI3] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzMw] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzA5NA==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ Mzc4Mg==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ OTM1MA==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MTE5MDMw] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTQ2MzQw] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTg2NzYy] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzYyMjA=] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. configModule. impl. ConfigModuleDaoImpl  getPersonMenuList

第五种方式:查询最后number行,并查找关键字“结果”并且对结果进行标红


[root
@yesky logs]# tail -n 
20 catalina.out | grep 
'INFO Takes:1' --color

[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. config. impl. ConfigInfoDaoImpl  load 
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTkwOTQ5] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzI0] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzI3] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzMw] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzA5NA==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ Mzc4Mg==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ OTM1MA==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MTE5MDMw] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTQ2MzQw] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTg2NzYy] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzYyMjA=] [ int]

第六种方式:查询最后number行,并查找关键字“结果”并且对结果进行标红,上下扩展两行


[root
@yesky logs]# tail -n 
20 catalina.out | grep 
'INFO Takes:1' --color -a2

[ 11: 11  22: 02: 51] INFO Takes: 0 ms  class  com. tmg. cms. manager. dao. article. impl. ArticleContentDaoImpl  getArticlePageNum [ NzE4MTM2ODky] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. config. impl. ConfigInfoDaoImpl  load [ com. tmg. cms. manager. model. config. ConfigInfo]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTkwOTQ5] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzI0] [ int]
[11:11 22:02:51]  INFO  Takes:0  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzI1] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzI3] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzMw] [ int]
[11:11 22:02:51]  INFO  Takes:0  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzAzNg==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzA5NA==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ Mzc4Mg==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ OTM1MA==] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 0 ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MTE0MjQ4] [ int]
[11:11 22:02:51]  INFO  Takes:0  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MTE4MDc4] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MTE5MDMw] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTQ2MzQw] [ int]
[11:11 22:02:51]  INFO  Takes:0  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTQ3MTIw] [ int]
[11:11 22:02:51]  INFO  Takes:0  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTY4OTYx] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ NTg2NzYy] [ int]
[11:11 22:02:51]  INFO  Takes:1  ms  class  com. tmg. cms. manager. dao. sitemap. impl. SitemapDaoImpl  getSitemapTop [ MzYyMjA=] [ int]
[ 11: 11  22: 02: 51] INFO Takes: 1 ms  class  com. tmg. cms. manager. dao. configModule. impl. ConfigModuleDaoImpl  getPersonMenuList [ com. tmg. cms. manager. model. config. ConfigPersonMenu]

第七种方式:分页查看,使用空格翻页(使用more/less)


[root
@yesky logs]# tail -n 
2000 catalina.out | grep 
'INFO Takes:1' --color -a2 | more

        [root @yesky logs]# tail -n  2000 catalina.out | grep  'INFO Takes:1' --color -a2 | less

附加

1.全屏导航
  • ctrl + F - 向前移动一屏

  • ctrl + B - 向后移动一屏

  • ctrl + D - 向前移动半屏

  • ctrl + U - 向后移动半屏

2.单行导航
  • j - 向前移动一行

  • k - 向后移动一行

3.其它导航
  • G - 移动到最后一行

  • g - 移动到第一行

  • q / ZZ - 退出 less 命令

原文链接:
blog.csdn.net/nan1996jiang/
article/details/109550303

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论