文章背景

有时候轮岗或者测试反馈bug时,执行python脚本不能快速的解析腾讯mars库的xlog文件,如果能像普通txt文件一样鼠标右键就可以打开就好了,因此本文介绍的主题之一就是如何快速执行解密xlog文件。

另外,日志里面有大量无关信息,而且普通文本么有颜色区分,很难去用肉眼看。如果用notepad++之类是零散的日志过滤,没法去分析某个流程的业务逻辑是否有问题。比如你需要tagA找到满足A条件下的日志,然后又想知道A附近有没有B的日志,此时notepad++无法做到。notepad++需要进行两次tag的过滤,而且每次看某一个tag时,无法清晰的看到另一个tag的日志。下面会介绍一种有用的工具,解放肉眼,并且可以做到共享配置,方便别人轮岗分析你的模块。

关于xlog文件解密

总共需要3个文件logdecode.bat、logdecode.reg、decode_log_file_20181013新版本.py

我接下来要配置三个文件,以便完成鼠标右键使用的光荣使命

我们接下来需要一个bat可执行文件,我们用它来进行python脚本的执行。

logdecode.bat批处理文件的内容如下,主要是申明你的python安装路径,以及你的python脚本路径

c:\Python27\python.exe C:\Users\Administrator\Desktop\decode_mars_log_file旧版.py %*

复制代码

下面这个是python解密文件,在官方脚本的基础上,增加了对BOM-UTF-8,避免下面介绍的日志查看工具无法显示中文的问题。

这个函数稍作修改,避免日志分析工具看到中文是乱码

def ParseFile(_file, _outfile):

fp = open(_file, "rb")

_buffer = bytearray(os.path.getsize(_file))

fp.readinto(_buffer)

fp.close()

startpos = GetLogStartPos(_buffer, 2)

if -1 == startpos:

return

outbuffer = bytearray()

while True:

startpos = DecodeBuffer(_buffer, startpos, outbuffer)

if -1 == startpos: break;

if 0 == len(outbuffer): return

fpout = open(_outfile, "wb")

fpout.write(codecs.BOM_UTF8)

fpout.write(outbuffer)

fpout.close()

复制代码

最后重要的一步是如何放到鼠标右键菜单里,配置下面的.reg配置表文件

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\新版本解密Log\command]

@="logdecode.bat \"%1\""

复制代码

接下来你只要双击reg文件运行即可,然后你可以看到鼠标右键已经存在了。如果你logdecode.bat里配置错误路径或者其它,请清除解密日志的注册表项,然后再重新注册下。

现在你可以用鼠标右键快速解析需要的日志文件,他会在当前目录生成解析后的文件,可以多选哦。

关于日志查看

TextAnalysisTool.NET ,这个是我们要用到的日志查看工具,我用的是2016的版本。下载地址

大概的应用界面如下,在加入过滤器后。

图中橙色之类的就是过滤条件,可以用正则去匹配,满足条件就可以标记文本颜色或者行背景色。

右上角有个filters,就是添加过滤tag的地方。

增加的tag都显示在下面,可以取消勾中,以便只使用部分tag去过滤标记日志。

如果你想要没被tag匹配中的日志行消失,那么按Ctrl+H快捷键,即可隐藏。如果恢复到原样,再按一次即可。现在你可以同时查看不同条件下满足的日志组成的一套流程日志了,可以分析各种业务流程,如activity生命周期、发送文件流程,推送消息是否收到并且通知到业务层刷新等等

如果你想回到某一个tag标记的颜色的日志行附近,你点击选中那一行,然后按Ctrl+H,这样恢复的界面就是在这一个日志行附近,非常方便。

如果你想保存这一次分析某个问题的过滤条件,可以点击下面这里

里面有Save filter选项,然后编辑你的tat过滤tag的文件的名字,保存即可。以后你可以拷贝给别人,或者自己再次选择使用,比如下面这种

解密android日志xlog,mars的xlog日志文件解析以及日志查看工具介绍相关推荐

  1. android基础知识13:AndroidManifest.xml文件解析【转载】

    注:本文转载于:http://blog.csdn.NET/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 Andro ...

  2. android加密墙,Android代码混淆加密配置(Proguard文件解析)

    Android代码混淆加密配置(Proguard文件解析) Android代码混淆加密配置(Proguard文件解析) 为了防止自己的APP被轻易反编译,我们需要对APK进行混淆,或者特殊加密处理.可 ...

  3. spark日志存储路径为mysql_利用Spark解析Tomcat日志,并将统计结果存入Mysql数据库...

    本文试图实现的需求场景为:以学习Spark知识点为目的,编写Scala利用Spark解析800M的tomcat日志文件,打印一段时间内ERROR级别记录的前10行,统计每分钟的日志记录数,并将统计结果 ...

  4. mysql 日志mixed模式_[MySQL binlog]彻底解析Mixed日志格式的binlog

    MySQL binlog3种格式,row,mixed,statement. 解析工作 mysqlbinlog --base64-output=DECODE-ROWS -v mysql-bin.0001 ...

  5. android运行时ART加载OAT文件解析

    在前面一文中,我们介绍了Android运行时ART,它的核心是OAT文件.OAT文件是一种Android私有ELF文件格式,它不仅包含有从DEX文件翻译而来的本地机器指令,还包含有原来的DEX文件内容 ...

  6. 解密android日志xlog,XLog 详解及源码分析

    一.前言 这里的 XLog 不是微信 Mars 里面的 xLog,而是elvishew的xLog.感兴趣的同学可以看看作者 elvishwe 的官文史上最强的 Android 日志库 XLog.这里先 ...

  7. android xlog崩溃日志,Android第三方log库:xlog使用记录

    第一步:由于xlog发布在jitpack 仓库,所以如果android studio没有在project目下的的build.gradle下配置jitpack仓库的话需要配置下 allprojects ...

  8. android tsclib.so,续 某哩某哩APP之m3u8解密分析之跳过so文件 从APP日志入手(AES/CBC模式)...

    前排提示!!!!! 论坛禁止留联系方式!! 禁止求成品,也没有成品! 写在前面的话 前段时间已经研究过这个平台网页和APP的AES加解密方式了. 最近发现这个平台的APP的加解密方式更新了,所以又继续 ...

  9. Android10.0 日志系统分析(二)-logd、logcat架构分析及日志系统初始化-[Android取经之路]

    摘要:本节主要来讲解Android10.0 日志系统的架构分析,以及logd.logcat的初始化操作 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级 ...

最新文章

  1. C++获取链表的大小的实现算法(附完整源码)
  2. 惊呆了!小姐姐用图解 Python,这也太秀了吧?
  3. 软件项目送上门来了,还要学会说不,接了项目拿了定金噩梦才刚刚开始
  4. 5、Flutter 实现 ViewPager、bottomNavigationBar 界面切换
  5. 荣耀份额重回中国市场前三;​特斯拉使用替代芯片重写汽车软件;RabbitMQ 3.9.0 发布|极客日报...
  6. 图的存储结构之十字链表、邻接多重表、边集数组
  7. 苹果 tvOS 10 第二个开发者测试版发布
  8. c语言怎么编程判断关键字,C语言关键字
  9. 代码行数统计工具,java,go,c++,html文件都适用
  10. Linux:configure: error: OpenSSL libcrypto not found
  11. 求职数据分析师岗位,简历应该如何写?|工科生三个月成功转行数据分析心得浅谈
  12. 联想thinkpad如何关闭触摸板
  13. Netty 源码分析之 零 磨刀不误砍柴工 源码分析环境搭建
  14. Prince和学生们侃侃而谈系列06
  15. linux smb无密码错误,smb无法登录提示用户名密码不正确错误排查
  16. 如何迅速打造敏捷团队
  17. python--爬虫--爬虫学习路线指南
  18. C语言:账号登陆问题
  19. 零基础怎样学IT难吗?新手如何快速入门?
  20. javaWeb课程体系介绍

热门文章

  1. Jenkins RestAPI调用出现Error 403 No valid crumb was included in the request [亲测有用]
  2. 那些年啊,那些事——一个程序员的奋斗史 ——17
  3. 开机时小键盘灯不亮的解决方案
  4. 在线直播源码评论弹幕是如何“练”成的?
  5. 用Excel写个摸球模拟器玩玩
  6. 2022-2028全球与中国纳米保湿美容仪市场现状及未来发展趋势
  7. java 亚马逊 mws_使用Amazon Deep Java库进行Java中的机器学习
  8. HTML和CSS实现京东首页(html和css详解)
  9. C#等语言、反射机制实现简单 智能语音人机交互(2)-- 皓月
  10. python 爬虫(项目实操)