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
    +关注

    关注

    88

    文章

    11628

    浏览量

    217925
  • 服务器
    +关注

    关注

    13

    文章

    10094

    浏览量

    90870
  • 日志
    +关注

    关注

    0

    文章

    145

    浏览量

    11025

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电商API日志分析的实用工具

      在当今数字化电商时代,API(应用程序编程接口)已成为平台与外部系统交互的核心通道。电商API日志记录了每一次请求的详细信息,包括用户行为、交易状态、错误响应等。分析这些日志能帮助企业监控性能
    的头像 发表于 07-23 15:50 407次阅读
    电商API<b class='flag-5'>日志</b>分析的实用工具

    远程日志errDump调试功能实战教程:案例驱动的故障排查!

    通过真实案例场景,本教程将展示如何利用远程日志errDump调试功能定位系统崩溃、性能瓶颈等问题,从日志捕获到原因分析,手把手带您体验实战中的调试流程。 本文特别分享errDump功能
    的头像 发表于 06-09 16:51 532次阅读
    远程<b class='flag-5'>日志</b>errDump调试功能实战教程:案例驱动的故障排查!

    手把手教你配置远程errDump调试:日志追踪不求人!

    如果您对远程errDump调试功能感到陌生,本教程将通过一步步操作演示,教您如何配置远程日志采集、解析errDump文件,以及定位关键错误信息,让您轻松独立完成调试任务。 下文特别分享errDump
    的头像 发表于 06-05 18:32 954次阅读
    手把手教你配置远程errDump调试:<b class='flag-5'>日志</b>追踪不求人!

    详解journalctl日志管理

    systemd 提供了自己的日志系统(logging system),称为 journal。使用 systemd 日志,无需额外安装日志服务(syslog)。
    的头像 发表于 06-05 17:22 1149次阅读
    详解journalctl<b class='flag-5'>日志</b>管理

    DevEcoStudio 中使用模拟器时如何过滤日志

    生的各种错误、警告和调试信息。这对于开发者调试应用在模拟器上的运行问题非常重要,可以帮助定位应用中的代码错误、资源泄漏等问题。 硬件模拟日志:模拟器需要模拟设备的硬件功能,如屏幕、摄像
    发表于 05-23 10:46

    全栈开发进阶指南:LuatOS-log库从入门到实战!

    本文将带你深入探索LuatOS系统中log库的核心原理与实战技巧,通过代码示例解析日志管理、错误追踪及性能优化的最佳实践,助力全栈工程师构建更稳健的物联网应用。 今天,我们一起来认识LuatOS
    的头像 发表于 05-15 16:12 2672次阅读
    全栈开发进阶指南:LuatOS-<b class='flag-5'>log</b>库从入门到实战!

    解锁LuatOS-log库:全栈工程师的日志管理实战课!

    针对全栈开发者设计的实战教程,本文聚焦LuatOS平台log库的高效使用,从基础配置到高级调试策略,手把手教你搭建可扩展的日志系统,提升项目维护效率。 今天,我们一起来认识LuatOS的log
    的头像 发表于 05-12 15:23 1314次阅读
    解锁LuatOS-<b class='flag-5'>log</b>库:全栈工程师的<b class='flag-5'>日志</b>管理实战课!

    基于RV1126开发板限制系统日志大小教程

    无论管理什么系统,对日志文件的监控、调用、管理都是其中重要的一部分。服务器问题的解决都是从查看系统(错误日志开始的。系统日志是记录系统硬件状况、内核动作、软件启动、用户动作等各项信息
    的头像 发表于 04-16 11:18 588次阅读
    基于RV1126开发板限制系统<b class='flag-5'>日志</b>大小教程

    恩智浦解读Zephyr log系统的使用 Zephyr的shell和log功能介绍

    之前 我们从 0 开始新建了一个简单的 Zephyr 应用- 从0开始打造属于自己的HelloWorld ,本期就 带着大家熟悉一下 Zephyr 的 shell 和 log 系统。 首先给大家介绍
    的头像 发表于 02-27 09:19 1702次阅读
    恩智浦解读Zephyr <b class='flag-5'>log</b>系统的使用 Zephyr的shell和<b class='flag-5'>log</b>功能介绍

    如果系统日志显示驱动问题,我该怎么办?

    'error|fail'   此命令会显示内核消息中的错误和失败信息,帮助您快速定位问题。 2.确认硬件和模块状态 使用以下命令检查硬件设备和已加载的内核模块:   lspci | grep -i
    的头像 发表于 01-20 17:38 1191次阅读

    分布式日志追踪ID实战

    最多的手段就是查看系统日志,相信不少人都值过班当过小秘吧:给下接口和出入参吧,麻烦看看日志里的有没有异常信息啊等等,但是在并发大时使用日志定位问题还是比较麻烦,由于
    的头像 发表于 01-20 10:16 902次阅读

    Linux实时查看日志的四种命令详解

    。 $ sudo tail -f /var/log/apache2/access.log     实时监控Apache日志 该命令的
    的头像 发表于 01-13 10:45 3979次阅读
    Linux实时查看<b class='flag-5'>日志</b>的四种命令详解

    Wine开发系列——如何使用Wine日志调试问题

      输出调试日志是调试程序的一种常见方法,尤其是处理那些难以捉摸的多线程错误、随机崩溃等问题时。 通过在合适的位置输出调试日志,可以帮助我们更快地定位问题所在。 对于不熟悉的代码,经常
    的头像 发表于 01-06 11:29 1815次阅读

    玩转Nginx日志管理:高效排查问题的终极指南

    Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(
    的头像 发表于 12-30 13:50 1107次阅读

    1个工具4类日志,帮你解决99%的问题

    众所周知,通过日志可以对研发过程中,以及模组运行过程中的各种故障进行分析,快速定位和解决问题。 但新手朋友往往念叨着“抓日志”,却又无从下手……此时就不得不提到工程师朋友的宝藏工具
    的头像 发表于 12-17 16:26 975次阅读
    1个工具4类<b class='flag-5'>日志</b>,帮你解决99%的问题