日志查看技巧之筛选去重[排查篇]
引语:相信大家都会偶尔遇到要排查问题发生的原因的情况,那这种时候,我们最有力后盾就是日志文件了,所以谨记日志记录真的很重要。但是日志文件往往是很大的文件,而且里面有太多的东西可能不是我们需要的,如无数重复行。如果能够有效筛选出对我们有意义的记录,那就太方便了!下面,就记录一些我筛选日志的一些技巧,供自己和部分需要的新手朋友参考!(高能勿喷,欢迎留下你的高见)
主要使用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
日志查看技巧之筛选去重[排查篇]相关推荐
- linux中查看日志技巧,日志查看技巧之筛选[linux命令集][排查篇]
引语:相信大家都会偶尔遇到要排查问题发生的原因的情况,那这种时候,我们最有力后盾就是日志文件了,所以谨记日志记录真的很重要.但是日志文件往往是很大的文件,而且里面有太多的东西可能不是我们需要的,如无数 ...
- linux查询日志命令加过滤,日志查看技巧之筛选[linux命令集][排查篇]
引语:相信大家都会偶尔遇到要排查问题发生的原因的情况,那这种时候,我们最有力后盾就是日志文件了,所以谨记日志记录真的很重要.但是日志文件往往是很大的文件,而且里面有太多的东西可能不是我们需要的,如无数 ...
- 日志查看技巧_10种Git技巧,让你省时省力又省心!
全文共1800字,预计学习时长4分钟 图片来源:unsplash.com/@sam_truong 1. 从另一分支切换单个文件 大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改? ...
- 日志查看技巧_如何用 Linux 技巧大大提高工作效率?
前言 Linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者简单却有效的Linux技巧. 命令编辑及光标移动 这里有很多快捷键可以帮我们修正自己的命令.接下来使用光标二字代替光标 ...
- linux日志查看技巧
1.常用查看命令 # 查看实时日志并过滤 tail -f test.log |grep -a '关键字'# 过滤关键字数据,追加到文件 cat -n test.log | grep "关键字 ...
- 查看linux的计划任务日志,查看计划任务日志(共5篇).docx
查看计划任务日志(共5篇) 沈阳工程学院 学生实验报告 实验室名称:信息学院网络安全实验室 实验课程名称:网络安全技术 实验项目名称:实验六日志查看与清除实验 班级:姓名:学号: 实验日期:XX年4月 ...
- 接口响应时间长排查,通过nginx日志查看接口响应时间
场景 vue项目中,页面请求接口响应速度非常慢,F12打开谷歌控制台,查看network,发现响应时间为1.14秒 排查问题 接口响应速度慢,后端打断点进入接口到返回这段时间有很快,要判断是什么问题, ...
- 入侵排查篇--- windows入侵排查
入侵排查篇- windows入侵排查 文章目录 入侵排查篇--- windows入侵排查 前言 一.检查系统账号安全 二.检查系统账号安全 三. 检查启动项.计划任务.服务 1.检查服务器是否有异常的 ...
- 日志查看_实时查看容器日志
实时查看容器日志 介绍一款使用了几个月的开源小工具,Dozzle.它是一款轻量.简单的容器日志查看工具. 本篇将简单介绍如何使用它,包括搭配 Traefik,以及如何快速从源码构建它. 写在前面 这款 ...
最新文章
- Docker compose多容器管理
- win32 api setwindowlong 第2个参数_第 6 篇:分页接口
- 为什么Java要把字符串设计成不可变的
- 串口基础类库(WIN32)异步通信 _COM_H 源代码
- TCP/IP协议:概述
- 【云计算】使用nsenter进入Docker容器进行调试
- 中国小金属行业十四五供应需求及发展前景研究报告2021版
- mysql引擎测试_MySQL MyISAM引擎和InnoDB引擎的性能测试
- 按照前序遍历和中序遍历构建二叉树
- Apple Swift编程语言新手教程
- online游戏服务器架构--数据库及事件相关 .
- 冒泡排序法_排序算法 冒泡排序法
- IT运维管理是企业信息化的大管家
- vue 打包后本地先自己启动服务 anywhere 非常好用
- c++interesting转换为uint_能让手机电脑“小屏变大屏”的神奇转换器,到底是个什么玩意儿?...
- [Python学习]错误篇二:切换当前工作目录时出错——FileNotFoundError: [WinError 3] 系统找不到指定的路径...
- 印象笔记保存html,印象笔记怎么保存网页 印象笔记保存网页教程
- 弹簧优化设计MATLAB,基于MATLAB的弹簧优化设计.pdf
- 查看git brach_Excel Go Brach – Excelebrations
- 我的大学十年 -- 林锐