在我们的实际开发中,一般应用都部署在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].

总结

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

开发中常用日志搜索技巧相关推荐

  1. JS开发中常用的小技巧

    1.获取指定范围内的随机数 1 2 3 function getRadomNum(min,max){     return  Math.floor(Math.random() * (max - min ...

  2. php gridview,PHP编程:yii2-GridView在开发中常用的功能及技巧总结

    <PHP编程:yii2-GridView在开发中常用的功能及技巧总结>要点: 本文介绍了PHP编程:yii2-GridView在开发中常用的功能及技巧总结,希望对您有用.如果有疑问,可以联 ...

  3. php页面开发,PHP网站开发中常用的8个小技巧

    这篇文章主要介绍了PHP网站开发中常用的8个小技巧,本文讲解了命名.使用.PHP判断Form表单是否提交.PHP 获取字符串长度.PHP超全局对象等内容,需要的朋友可以参考下 PHP是一种用于创建动态 ...

  4. java开发常用jar包_Java开发中常用jar包整理及使用

    本文整理了我自己在Java开发中常用的jar包以及常用的API记录. 一.common-lang3 简介:一个现在最为常用的jar包,封装了许多常用的工具包 依赖: org.apache.common ...

  5. JAVA 开发中常用的工具有哪些?

    Java开发中常用的工具有以下几种: Eclipse:一款非常流行的开发工具,提供了很多方便的功能,如代码自动补全.调试.版本控制等. IntelliJ IDEA:一款功能强大的Java集成开发环境, ...

  6. 浅谈实际开发中常用的分布式事物处理

    浅谈实际开发中常用的分布式事物处理 文章目录 前言 一.分布式事物 二.常用方案 1.使用记录表+mq机制 前言 随着微服务的流行,越来越多系统不在是单体结构,根据业务和功能拆分成不同微服务,这就导致 ...

  7. WordPress开发中常用代码(必备)

    很多人在WordPress开发中常用代码,WordPress 相比其它网站程序,最突出的优势:主题模板多,插件多,相关技术文章多,只要你想到的功能,都可以通过插件或者代码实现.现在分享下WordPre ...

  8. Google和Baidu常用的搜索技巧--转

    原文链接:http://mp.weixin.qq.com/s?__biz=MjM5NTY0MTY1OQ==&mid=2654509772&idx=1&sn=754454e374 ...

  9. php开发中常用函数总结,PHP开发中常用函数总结

    PHP开发中常用函数总结 发布于 2014-10-31 08:34:03 | 48 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Preproc ...

  10. 前端开发中常用设计模式-总结篇

    本文是向大家介绍前端开发中常用的设计模式,它使我们编写的代码更容易被复用,也更容易被人理解,并且保证代码的稳定可靠性. 1.什么是设计模式 通俗来讲,就是日常使用设计的一种惯性思维. 因为对应的这种思 ...

最新文章

  1. 监测SQLServer数据库中表的数据变化 方案
  2. Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题...
  3. hibernate mysql分页_求struts+hibernate实现mysql分页的详细代码
  4. 关系代数——附加的关系运算(1)
  5. code warri_我参加了有史以来的第一届Warri Tech宣传活动。 这是我学到的。
  6. 图书管理系统~简单流程
  7. 【Python】利用pip下载Django超时失败的解决方法
  8. Codeforces Round #617 (Div. 3) String Coloring(E1.E2)
  9. NUC1371 Who's in the Middle【中位数+排序】
  10. 安卓传感器全解:注册、注销传感器、监听传感器,距离传感器、方向传感器、陀螺仪、加速计、磁场、气压传感器
  11. Json.NET特殊处理64位长整型数据
  12. python中append,pop,extend,remove的区别
  13. jdk1.8中文帮助文档
  14. PS导出字幕的一些细节
  15. 前端加密js库--CryptoJs
  16. 登录账号提示服务器出错怎么办,教育平台号和密码都正确,就是显示用户名和或密码错误,登不上怎么办呀?...
  17. 计算机怎么打开网络共享,如何开启Window7的媒体流共享(开启电脑 DLNA 共享)...
  18. golang-ffmpeg-goav:视频拉流解码成YUVJ420P
  19. 帮你一个简单的微信怎么刷票及微信如何刷票技巧「图文教程」
  20. 数据库如何转身云原生数据库

热门文章

  1. ORA-30377 MV_CAPABILITIES_TABLE not found
  2. java课程设计---彩票销售管理系统
  3. 屏幕操作录制成gif图的技巧
  4. oracle常用的数据字典
  5. Maven Java EE Configuration Problem 的完美解决办法
  6. VR:下一个技术风口
  7. Java面向对象㈡ -- 继承与多态
  8. spring---FactoryBean与BeanFactory的区别
  9. 20155313 杨瀚 《网络对抗技术》实验八 Web基础
  10. Eclipse中servlet显示无法导入javax.servlet包问题的解决方案