引语:相信大家都会偶尔遇到要排查问题发生的原因的情况,那这种时候,我们最有力后盾就是日志文件了,所以谨记日志记录真的很重要。但是日志文件往往是很大的文件,而且里面有太多的东西可能不是我们需要的,如无数重复行。如果能够有效筛选出对我们有意义的记录,那就太方便了!下面,就记录一些我筛选日志的一些技巧,供自己和部分需要的新手朋友参考!(高能勿喷,欢迎留下你的高见)
  主要使用awk命令进行筛选!

原始日志php_error.log如下:

[21-Nov-2015 11:10:14 UTC] PHP Warning: PHP Startup: in Unknown on line 0
[21-Nov-2015 11:39:48 UTC] PHP Notice: Undefined index: HTTP_RAW_POST_DATA in E:\wamp\www\htdocs\wx_receiver.php on line 39

  重定向输出相关(这个很重要,因为所有打印出来的,你不可能看得完,导出到其他地方后慢慢分析才是硬道理):

$ echo "hello,world!" > out.log        #直接输出到
$ echo "hello,world!" >> out.log      #以添加的形式输出到
$ echo "ssss!" >> out.log 2>&1       #指定错误级别输出到

  筛选含有warning的记录:

$ awk '/Warning/' php_error.log
$ awk '{if($0 ~ /Warning/)print $0;}' php_error.log    #完整写法

  筛选含Warning后面出现Startup的记录:

$ awk '/Warning.*?Startup/' php_error.log
$ awk '{if($0 ~ /Warning.*?Startup/)print $0;}' php_error.log  #完整写法

原始日志mysql_error.log如下:

[2015-12-20 20:45:51] Error in Mysql::fetch
E:\wamp\www\includes\class\db.cls.php on line 149
E:\wamp\www\htdocs\pp\system\Model.cls.php on line 44
E:\wamp\www\htdocs\pp\controllers\admin\ScoreController.cls.php on line 56
E:\wamp\www\htdocs\pp\system\Application.cls.php on line 72
E:\wamp\www\htdocs\pp\system\Application.cls.php on line 49
E:\wamp\www\htdocs\pp\index.php on line 19[2015-12-20 20:45:51] mysql_errno: 1054
mysql_error: Unknown column 'score_rule' in 'field list'
E:\wamp\www\includes\class\db.cls.php on line 64
E:\wamp\www\htdocs\pp\system\Model.cls.php on line 43
E:\wamp\www\htdocs\pp\controllers\admin\SeController.cls.php on line 86
E:\wamp\www\htdocs\pp\system\Application.cls.php on line 72
E:\wamp\www\htdocs\pp\system\Application.cls.php on line 49
E:\wamp\www\htdocs\pp\index.php on line 19

  去除相同行(时间除外),并带时间行数打印出:

$ awk '{if($1 ~ /^\[[[:digit:]]{4}-/){t=$0;}else{if(!a[$0]++)print NR, " ===> ", t, " ", $0;}}' mysql_error.log

  其他类似情况,请详细理解正则表达式写法。

  直接查看原始mysql-bin-log日志(binlog是二进制文件,查看不了,需借助mysqlbinlog工具):

$ mysqlbinlog mysql-bin-log.000038 > out.log 2>&1

  统计某文件夹下的文件行数:

grep -r -c ./* "<?php" | wc -l
grep -r -l "<?php" ./thinkphp/* | xargs cat | wc -l    #more perfectwc -l *
find . -name "*.java" | wc -l
find . -name "*.java" | wc -l | grep total

  对于字符一类的处理,awk,sed等命令是相当方便的,适当运用一下,对于工作还是挺方便的。但是这种东西用多了,往往在windows的工具下,也有这种操作的想法,但是绝对没有这么方便,可以使用一些简单的正则进行匹配一些字符,也还是提高查找速度的!

  正则:好东西!

  关键:找特征,写规则,极简化!

  注意:各个语言的具体描述,可能不同!

diff file1 file2        #比较两个文件的差异
cat file.txt | sort > file.txt  #让文件内容按字母排序

统计代码行数:

find . -name '*.java' | xargs cat | wc -l

转载于:https://www.cnblogs.com/yougewe/p/5173635.html

日志查看技巧之筛选去重[排查篇]相关推荐

  1. linux中查看日志技巧,日志查看技巧之筛选[linux命令集][排查篇]

    引语:相信大家都会偶尔遇到要排查问题发生的原因的情况,那这种时候,我们最有力后盾就是日志文件了,所以谨记日志记录真的很重要.但是日志文件往往是很大的文件,而且里面有太多的东西可能不是我们需要的,如无数 ...

  2. linux查询日志命令加过滤,日志查看技巧之筛选[linux命令集][排查篇]

    引语:相信大家都会偶尔遇到要排查问题发生的原因的情况,那这种时候,我们最有力后盾就是日志文件了,所以谨记日志记录真的很重要.但是日志文件往往是很大的文件,而且里面有太多的东西可能不是我们需要的,如无数 ...

  3. 日志查看技巧_10种Git技巧,让你省时省力又省心!

    全文共1800字,预计学习时长4分钟 图片来源:unsplash.com/@sam_truong 1. 从另一分支切换单个文件 大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改? ...

  4. 日志查看技巧_如何用 Linux 技巧大大提高工作效率?

    前言 Linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者简单却有效的Linux技巧. 命令编辑及光标移动 这里有很多快捷键可以帮我们修正自己的命令.接下来使用光标二字代替光标 ...

  5. linux日志查看技巧

    1.常用查看命令 # 查看实时日志并过滤 tail -f test.log |grep -a '关键字'# 过滤关键字数据,追加到文件 cat -n test.log | grep "关键字 ...

  6. 查看linux的计划任务日志,查看计划任务日志(共5篇).docx

    查看计划任务日志(共5篇) 沈阳工程学院 学生实验报告 实验室名称:信息学院网络安全实验室 实验课程名称:网络安全技术 实验项目名称:实验六日志查看与清除实验 班级:姓名:学号: 实验日期:XX年4月 ...

  7. 接口响应时间长排查,通过nginx日志查看接口响应时间

    场景 vue项目中,页面请求接口响应速度非常慢,F12打开谷歌控制台,查看network,发现响应时间为1.14秒 排查问题 接口响应速度慢,后端打断点进入接口到返回这段时间有很快,要判断是什么问题, ...

  8. 入侵排查篇--- windows入侵排查

    入侵排查篇- windows入侵排查 文章目录 入侵排查篇--- windows入侵排查 前言 一.检查系统账号安全 二.检查系统账号安全 三. 检查启动项.计划任务.服务 1.检查服务器是否有异常的 ...

  9. 日志查看_实时查看容器日志

    实时查看容器日志 介绍一款使用了几个月的开源小工具,Dozzle.它是一款轻量.简单的容器日志查看工具. 本篇将简单介绍如何使用它,包括搭配 Traefik,以及如何快速从源码构建它. 写在前面 这款 ...

最新文章

  1. Docker compose多容器管理
  2. win32 api setwindowlong 第2个参数_第 6 篇:分页接口
  3. 为什么Java要把字符串设计成不可变的
  4. 串口基础类库(WIN32)异步通信 _COM_H 源代码
  5. TCP/IP协议:概述
  6. 【云计算】使用nsenter进入Docker容器进行调试
  7. 中国小金属行业十四五供应需求及发展前景研究报告2021版
  8. mysql引擎测试_MySQL MyISAM引擎和InnoDB引擎的性能测试
  9. 按照前序遍历和中序遍历构建二叉树
  10. Apple Swift编程语言新手教程
  11. online游戏服务器架构--数据库及事件相关 .
  12. 冒泡排序法_排序算法 冒泡排序法
  13. IT运维管理是企业信息化的大管家
  14. vue 打包后本地先自己启动服务 anywhere 非常好用
  15. c++interesting转换为uint_能让手机电脑“小屏变大屏”的神奇转换器,到底是个什么玩意儿?...
  16. [Python学习]错误篇二:切换当前工作目录时出错——FileNotFoundError: [WinError 3] 系统找不到指定的路径...
  17. 印象笔记保存html,印象笔记怎么保存网页 印象笔记保存网页教程
  18. 弹簧优化设计MATLAB,基于MATLAB的弹簧优化设计.pdf
  19. 查看git brach_Excel Go Brach – Excelebrations
  20. 我的大学十年 -- 林锐

热门文章

  1. [lydstar]嘀嘀打车面试
  2. 固定资产管理软件方案
  3. maven 打包命令,只编译选择模块及其依赖模块
  4. 刷脸支付全面普及到车站地铁等公共场所
  5. 程序员的睡后收入之路 ---- 针对个人非团队
  6. android 计步器
  7. 使用python做一个闹钟_用Python写一个简单地闹钟
  8. 沟通中经常用到的几个库存术语
  9. oracle去重保留一条_oracle 去重,取新的一条数据展示
  10. ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全