Home > System Tutorial > LINUX > body text

There are a lot of logs in the Linux server. How to read the logs correctly and quickly locate errors? You must learn!

WBOY
Release: 2024-02-12 09:09:03
forward
1001 people have browsed it

Quickly locate errors in a large number of logs

Dynamic View Log

tail -f catalina.ou
Copy after login

Open the log file from the beginning

cat catalina.ou
Copy after login

You can use >nanjiangtest.txt to output a new log to view

[root@yesky logs]# cat -n catalina.out |grep 717892466 >nanjiangtest.txt
Copy after login
Linux 服务器大量的 log 日志,如何正确看日志快速定位错误?你必须学会!

tail/head simple command usage:

[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行的其他所有日志
Copy after login

The first way (find the trip number based on keywords):

There are very few logs obtained with grep, we need to check nearby logs. This is what I did, first: cat -n test.log | grep "keyword" Get the line number of the key log

[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       编辑

文章
Copy after login

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

  • tail -n 13230539 means querying the log after line 13230539
  • head -n 10 means to check the first 10 records in the previous query results
[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/3NXCRK4U3589_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]
Copy after login

Second method: View logs within a specified time period

First, perform a log query within the range time period to see if it exists within the current day.

grep '11:07 18:29:20' catalina.out
grep '11:07 18:31:11' catalina.out
Copy after login

Query within time range

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
Copy after login

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

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

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

第五种方式:查询最后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]
Copy after login

第六种方式:查询最后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.ArticleContent
DaoImpl 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]
Copy after login

第七种方式:分页查看,使用空格翻页(使用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
Copy after login

附加

1.全屏导航
  • ctrl + F – 向前移动一屏
  • ctrl + B – 向后移动一屏
  • ctrl + D – 向前移动半屏
  • ctrl + U – 向后移动半屏
2.单行导航
  • j – 向前移动一行
  • k – 向后移动一行
3.其它导航
  • G – 移动到最后一行
  • g – 移动到第一行
  • q / ZZ – 退出 less 命令

The above is the detailed content of There are a lot of logs in the Linux server. How to read the logs correctly and quickly locate errors? You must learn!. For more information, please follow other related articles on the PHP Chinese website!

source:lxlinux.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template