0

0

Linux 服务器大量的 log 日志,如何正确看日志快速定位错误?

Linux中文社区

Linux中文社区

发布时间:2023-08-01 16:45:25

|

1332人浏览过

|

来源于Linux中文社区

转载


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

Linux 服务器大量的 log 日志,如何正确看日志快速定位错误?

PixVerse
PixVerse

PixVerse是一款强大的AI视频生成工具,可以轻松地将多种输入转化为令人惊叹的视频。

下载

动态查看日志

tail -f catalina.out

从头打开日志文件

cat catalina.out

可以使用 >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 71789246613230539        [11:07 17:47:11] INFO nanjiang:Edit Old Article:717892466-2020-11-07 17:47:1113230593        [11:07 17:47:15] INFO nanjiangSave Article ID IS:71789246613230595        717892466 article.getDisplayTime()1 = 2020-11-07 16:25:1113230596        717892466 article.getDisplayTime()2 = 2020-11-07 16:25:1113230601        [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 1013230539        [11:07 17:47:11] INFO nanjiang:Edit Old Article:717892466-2020-11-07 17:47:1113230540        [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/3NXCRK4U3589_2.jpg13230545        [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.outgrep '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 -l154

第四种方式:查询最后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

附加:

  • 全屏导航
    ctrl + F - 向前移动一屏
    ctrl + B - 向后移动一屏
    ctrl + D - 向前移动半屏
    ctrl + U - 向后移动半屏

  • 单行导航
    j - 向前移动一行
    k - 向后移动一行

  • 其它导航
    G - 移动到最后一行
    g - 移动到第一行
    q / ZZ - 退出 less 命令

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

200

2023.10.12

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1348

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

701

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

572

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

545

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

297

2023.07.20

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.2万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号