美文网首页
开发中常用日志搜索技巧

开发中常用日志搜索技巧

作者: XING辋 | 来源:发表于2017-03-02 21:55 被阅读0次

    在我们的实际开发中,一般应用都部署在Linux上,为了后期方便排查bug或者记录代码执行的流程。对于开发者而言,遇到问题经常需要去看log文件(或者使用Kibana这样的工具),这里介绍几个开发常用而又重要的日志查找技巧。

    Linux查看日志的几个常见命令

    • grep
    • head
    • cat
    • tail
    • less
    • ack
    • sed
    • vi

    grep

    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    • 常见使用方法之: grep 2017010500345878 --color info.log
    这行命令在info.log中搜索含有"2017010500345878"关键词的段落并且使用其他颜色标记关键词。
    

    优点:根据关键词快速方便定位并且打印出来段落的上下文。

    head

    head命令是用来查看具体文件的前面几行的内容,该命令默认是前10行内容;

    • 常见使用方法之: head -50 info.log
    查看info.log文件的前50行。
    

    优点:快速定位到文件的前多少行。

    tail

    tail命令是用来查看具体文件后面几行的内容,默认情况下,是查看该文件尾10行的内容;还可以使用 tail 来观察日志文件被更新的过程。使用 -f 选项,tail 会自动实时更新文件内容。

    • 常见使用方法之: tail -f info.log

    cat

    cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的.常用有三大功能:1.一次显示整个文件;2.从键盘创建一个文件。3.将几个文件合并为一个文件。这里我们只举例显示一个文件.

    • 常见使用方法之: cat -n info.log

    less

    less(less) 命令可以对文件或其它输出进行分页显示

    • 常见使用方法之: cat -n info.log

    ack

    ack是一个基于Perl的类似于grep的命令行工具,但是搜索速度更快,能力比grep更强。

    • 常见使用方法之: ack -w order
    在当前目录递归搜索单词”eat”,不匹配类似于”orderService”或”paymentOrder”的字符串.
    
    • 常见使用方法之: ack -w order

    sed

    sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

    • 常见使用方法之: sed -n '800,900' info.log
    查看info.log文件800到900行之间的内容
    

    vi

    使用找一个字符串,在vi命令模式下键入“/”,后面跟要查找的字符串,再按回车。vi将光标定位在该串下一次出现的地方上。键入n跳到该串的下一个出现处,键入N跳到该串的上一个出现处。

    常见组合使用

    使用[grep -n 异常 --color info.log ]查询到异常在文件中发生的行数,然后再看前后几十行日志的内容[sed -n '800,900' info.log].

    总结

    这些命令的功能都比较丰富,这里只是列出非常简单的一些用法,在一般的开发中都是频繁使用得到.具体的用法需要开自己总结使用自己喜欢使用的命令.(我这里的总结也会持续更新)

    相关文章

      网友评论

          本文标题:开发中常用日志搜索技巧

          本文链接:https://www.haomeiwen.com/subject/mcnkgttx.html