Heim >System-Tutorial >LINUX >Es gibt viele Protokolle auf dem Linux-Server. Wie kann ich die Protokolle richtig lesen und Fehler schnell lokalisieren? Du musst lernen!

Es gibt viele Protokolle auf dem Linux-Server. Wie kann ich die Protokolle richtig lesen und Fehler schnell lokalisieren? Du musst lernen!

WBOY
WBOYnach vorne
2024-02-12 09:09:031004Durchsuche

Schnelle Fehlersuche in einer großen Anzahl von Protokollen

Protokolle dynamisch anzeigen

tail -f catalina.ou

Öffnen Sie die Protokolldatei von Anfang an

cat catalina.ou

Mit >nanjiangtest.txt können Sie ein neues Protokoll zur Ansicht ausgeben

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

Einfache Befehlsverwendung für Schwanz/Kopf:

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

Der erste Weg (Reisenummer anhand von Schlüsselwörtern finden):

Mit grep werden nur sehr wenige Protokolle abgerufen. Wir müssen die Protokolle in der Nähe überprüfen. Folgendes habe ich zunächst getan: cat -n test.log | grep “关键词” Ermitteln Sie die Zeilennummer des Schlüsselprotokolls

[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 bedeutet Abfrage der Protokolle nach Zeile 13230539
  • head -n 10 bedeutet, die ersten 10 Datensätze in den vorherigen Abfrageergebnissen zu überprüfen
[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]

Zweite Methode: Protokolle innerhalb eines bestimmten Zeitraums anzeigen

Zunächst müssen Sie die Protokolle innerhalb des Bereichszeitraums abfragen, um zu sehen, ob sie am aktuellen Tag vorhanden sind

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

Abfrage innerhalb des Zeitbereichs

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.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]

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

Das obige ist der detaillierte Inhalt vonEs gibt viele Protokolle auf dem Linux-Server. Wie kann ich die Protokolle richtig lesen und Fehler schnell lokalisieren? Du musst lernen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen