天性善良不善言辞的你,容易被人颐指气使,加班对你来说是家常便饭。
有时候想,如果分析日志过程能高效,是不是就可以减少无意义的班?节约出来的时间老婆孩子热炕头岂不美哉。
话不多说,本文重点讲解如何使用 Notpad++ 配合 AnalysePlugin 分析大文件日志,找到目标日志信息。
存在问题
一. 多日志文件,不知道关键字在哪些文件里
面对几个 GB 的大文件日志,例如安卓系统应用出现无响应问题时,系统会自动生成多个异常跟踪文件并自动保存,导致存在过多的日志文件。
通常的过程是这样的:
for(int i = 1 ; i <= 日志文件数目;++i{
1. 打开单个日志文件
2. bool result = ctrl + F 搜索目标关键字
if(result{
3. 保存。
}
4. 获取保存所有带目标关键字日志
for(int j = 1 ; j <= 目标关键字日志数目;++j{
5. 打开初步文件看是否存在有用信息,定位问题。
}
}
是不是有点像大海捞针的感觉?
只要方法是对的,总可以完成。然而,你有没有想过,凭啥这种“不用脑子”的体力活要你干?爷的时间就这么不值钱吗?有这时间刷刷剧,打把游戏不香吗?
二.无法有重点的分析日志
- 如果应用程序崩溃了,我们会重点关注 "java.lang.RuntimeException"。
- 如果没有发现 "RuntimeException",则可能会关注与 "SQLiteLog" 相关的警告。
- 如果甚至连系统警告都没有,那么只能查看与应用程序相关的 "onLayout" 日志。
通常的做法是直接搜索关键字,这样做虽然可行,但给人的感觉不够直观。由于屏幕小且高度近视,搜索结果都是一堆黄色的浆糊,无法有效区分日志级别,不利于重点突出地分析问题。
不过,码农应该都有洁癖,长期沉浸在祖传的“屎山”中,增删改查,谁不都会说:“我去,垃圾代码!”如果是我,我会怎么怎么做。
如何解决
一. 如何在多文件中快速查找目标关键字
首先,你得安装一个Notepad++。
不会的去问度娘或谷歌,细讲只会拉低本文档次和目标人群,再次重申,本文只适合高端高智商帅哥美女阅读!
其次,批量选中需要搜索的多个文件,右键打开方式中选中 Notepad++ 打开。
最后,你自己操作一遍。
如下是我为你准备的爱心录屏。我同时选中了多个文件,然后在这些文件中搜索关键字“ANR”。结果显示所有打开的文件中有两个文件包含该关键字,这样我就知道这两个文件是有用的,其他的可以不用管。
二. 如何有重点的分析日志
AnalysePlugin 支持正则表达式或转义模式搜索日志,并为每个搜索设置不同颜色。搜索结果将按照与原点相同的顺序存储在固定窗口中,双击可以跳转到原始位置。
如何安装 AnalysePlugin
爱心视频如下:
如何使用
如图所示按照如下步骤来添加和设置颜色。
注意事项
官方说明 NotePad++ 需要 ≥ 5.1 以上才支持 AnalysePlugin。
总结
每个人解决问题的方式都不同,希望可以将更好的方法分享给大家。我认为随着自然语言处理技术的发展,我们可能不需要这些技巧了。通过自然语言处理技术,将所有日志录入,让计算机理解,然后直接让它分析问题并给出方案即可。目前我还没有找到这样的工具,如果有大佬们发现了,也欢迎分享哦~~。