0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

dyquk4xk2p3d 来源:心南南心 2023-04-21 09:22 次阅读

	

	

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

动态查看日志

tail-fcatalina.out

从头打开日志文件

catcatalina.out

可以使用 >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:0717:47:11]INFOnanjiang:EditOldArticle:717892466-2020-11-0717:47:11
13230593[11:0717:47:15]INFOnanjiangSaveArticleIDIS:717892466
13230595717892466article.getDisplayTime()1=2020-11-0716:25:11
13230596717892466article.getDisplayTime()2=2020-11-0716:25:11
13230601[11:0717:47:15]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:0717:47:11]INFOnanjiang:EditOldArticle:717892466-2020-11-0717:47:11
13230540[11:0717:47:11]INFOTakes:2msclasscom.tmg.cms.manager.dao.article.impl.ArticleContentDaoImplgetListByArticleId[NzE3ODkyNDY2][int]
13230541[11:0717:47:11]INFOTakes:1msclasscom.tmg.cms.manager.dao.resourceImage.impl.ResourceImageDaoImplload
13230542[11:0717:47:11]INFOTakes:0msclasscom.tmg.cms.manager.dao.resourceImage.impl.ResourceImageDaoImplload
13230543[11:0717:47:11]INFOTakes:1msclasscom.tmg.cms.manager.dao.resourceImage.impl.ResourceImageDaoImplload
13230544[11:0717:47:11]INFOarticle.getImage3:/uploadImages/2020/312/02/3NXCRK4U3589_2.jpg
13230545[11:0717:47:11]INFOTakes:0msclasscom.tmg.cms.manager.dao.resourceImage.impl.ResourceImageDaoImplload
13230546[11:0717:47:11]INFOTakes:2msclasscom.tmg.cms.manager.dao.privilege.impl.UserDaoImplgetUserByid
13230547[11:0717:47:11]INFOTakes:57msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplselectSitemapWithoutAudit[MQ==][int]
13230548[11:0717:47:11]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:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.config.impl.ConfigInfoDaoImplload
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTkwOTQ5][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI0][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI3][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzMw][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzA5NA==][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[Mzc4Mg==][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[OTM1MA==][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE5MDMw][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTQ2MzQw][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTg2NzYy][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzYyMjA=][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.configModule.impl.ConfigModuleDaoImplgetPersonMenuList

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

[root@yeskylogs]#tail-n20catalina.out|grep'INFOTakes:1'--color
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.config.impl.ConfigInfoDaoImplload
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTkwOTQ5][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI0][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI3][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzMw][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzA5NA==][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[Mzc4Mg==][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[OTM1MA==][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE5MDMw][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTQ2MzQw][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTg2NzYy][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzYyMjA=][int]

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

[root@yeskylogs]#tail-n20catalina.out|grep'INFOTakes:1'--color-a2
[11:1122:02:51]INFOTakes:0msclasscom.tmg.cms.manager.dao.article.impl.ArticleContentDaoImplgetArticlePageNum[NzE4MTM2ODky][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.config.impl.ConfigInfoDaoImplload[com.tmg.cms.manager.model.config.ConfigInfo]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTkwOTQ5][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI0][int]
[11:1122:02:51]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI1][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzI3][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzMw][int]
[11:1122:02:51]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzAzNg==][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzA5NA==][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[Mzc4Mg==][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[OTM1MA==][int]
[11:1122:02:51]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE0MjQ4][int]
[11:1122:02:51]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE4MDc4][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MTE5MDMw][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTQ2MzQw][int]
[11:1122:02:51]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTQ3MTIw][int]
[11:1122:02:51]INFOTakes:0msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTY4OTYx][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[NTg2NzYy][int]
[11:1122:02:51]INFOTakes:1msclasscom.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImplgetSitemapTop[MzYyMjA=][int]
[11:1122:02:51]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

附加:

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

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

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


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11030

    浏览量

    207259
  • 服务器
    +关注

    关注

    12

    文章

    8335

    浏览量

    83460
  • 日志
    +关注

    关注

    0

    文章

    127

    浏览量

    10558

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

文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何检查日志中是否有类似cm_cy_log_msg( CYLF_MIDDLEWARE, CY_LOG_ERR) 的内容?

    运行,有什么方法可以检查 cm_cy_log_msg 生成的日志? 像这样: cm_cy_log_msg( CYLF_MIDDLEWARE, CY_LOG_ERR,\"Invalid
    发表于 05-31 12:45

    单片机断电记忆日志 多串口助手波形图像彩色日志 Stm32嵌入式FLASH保存日志管理工具

    。 CloudLog使用了多种日志元素,包括: 日志等级(Log Level)用于确认日志的重要性。 日期时间(Date Time Tick)用于确认
    发表于 01-19 11:28

    汇总一些嵌入式打log的一些规则

    对于不能恢复的严重错误日志内容应详细到足以帮助定位问题,但同时不应该包含敏感信息。比如申请内存失败时使用错误(Error)级别加上日志信息
    的头像 发表于 01-19 11:07 455次阅读
    汇总一些嵌入式打<b class='flag-5'>log</b>的一些规则

    logcat命令抓取日志方法

    命令抓取日志 logcat -b main -b system -b crash -r 1024 -n 5 -f android.log -v threadtime -b:加载可供查看的缓冲区的日志
    的头像 发表于 11-23 17:31 715次阅读
    logcat命令抓取<b class='flag-5'>日志</b>方法

    Android日志与logd交互过程

    2.2.3 Android日志与logd交互过程 2.2.3.1 Android日志传递给logd Android app层或framework层,通过调用Log/Slog/Rlog中d方法打印
    的头像 发表于 11-23 17:06 472次阅读
    Android<b class='flag-5'>日志</b>与logd交互过程

    Android开发中的日志接口介绍

    、WARN、ERROR、ASSERT,日志级别依次提升。默认定义了5个buffer缓冲区,分别是main、radio、events、system、crash,对应的ID信息分别为LOG
    的头像 发表于 11-23 16:27 637次阅读
    Android开发中的<b class='flag-5'>日志</b>接口介绍

    Log4cpp优势及优点

    1、log4cpp概述 Log4cpp是一个开源的C++类库,它提供了C++程序中使用日志和跟踪调试的功能,它的优点如下: 提供应用程序运行上下文,方便跟踪调试; 可扩展的、多种方式记录日志
    的头像 发表于 11-09 14:27 385次阅读
    <b class='flag-5'>Log</b>4cpp优势及优点

    C++异步日志实践

    一个高效可拓展的异步C++日志库:RING LOG,本文分享了了其设计方案与技术原理等内容 导论 同步日志与缺点 传统的日志也叫同步日志,每
    的头像 发表于 11-09 10:29 384次阅读
    C++异步<b class='flag-5'>日志</b>实践

    保护Log4j日志中的敏感数据,两步搞定!

    log4j在准备添加日志消息时调用此方法。在MaskingAppender类中,我们覆盖这个方法来拦截日志消息,使用maskSensitiveData()方法对敏感数据应用masking,然后将修改后的消息传递给超类的appen
    的头像 发表于 10-18 16:03 395次阅读

    基于Rust的Log日志库介绍

    Rust是一门系统级编程语言,因其安全性、高性能和并发性而备受欢迎。在Rust应用程序中,日志记录是一项非常重要的任务,因为它可以帮助开发人员了解应用程序的运行情况并解决问题。Rust的Log库提供
    的头像 发表于 09-19 14:49 2598次阅读

    Android异常日志快速定位分析小技巧

    Android异常日志快速定位分析小技巧
    的头像 发表于 08-09 10:06 1513次阅读
    Android异常<b class='flag-5'>日志</b><b class='flag-5'>快速</b><b class='flag-5'>定位</b>分析小技巧

    感觉学会log,程序就算入门了

    有些log机制在进程重启时,不会重新生成一个日志文件,而是直接在同一个日志文件后面添加日志。或者,有时候同一程序的多个进程同时运行,可能也会写入到同一个
    的头像 发表于 08-02 16:39 453次阅读

    云控日志CloudLog,帮助您实现电脑、手机、嵌入式系统等不同平台的日志管理统一化

    与Debug相同。 Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。 CloudLog的日志过滤器功能: 可以根据
    发表于 08-01 17:08

    MySQL三种日志讲解

    MySQL 日志包含了错误日志、查询日志、慢查询日志、事务日志、二进制
    的头像 发表于 07-25 11:15 544次阅读
    MySQL三种<b class='flag-5'>日志</b>讲解

    10.010 尚硅谷 Spark框架 快速上手 WordCount 日志错误

    日志系统
    充八万
    发布于 :2023年07月18日 07:31:16