如何查看分析超大日志

问题遇到的现象和发生背景

本人windows环境下android开发,刚换新公司,每个版本发布前,QA都会做长时间的煲机测试(三个小时到一整夜不等),生成的日志非常大,少则500MB,多则2GB以上,分析起来比较困难。我自己在网上找了一些文件切割工具,切割后一个一个查看分析,个人感觉不是很正规,也不是很方便。也试了几个文本编辑器,notepad++和editplus直接卡死,ultraedit能打开,但是正版收费很贵,盗版有风险,而且太折腾。

我想要达到的结果

正规免费或低收费的超大日志查看分析工具或者方案。

Tilipa日志工具可以直接打开过滤分析,在线的,不需要下载安装任何东西,免费。

https://tilipa.zlsam.com/#/tool?id=199&name=%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7

文件切割工具都是按多少M来切的,很可能会把日志的某一行给你切两半
你自己随手写几行代码,读文件,循环,重新输出到另一个文件,判断一下行数,超过一定行数就换文件
不就行了

可以通过代码把日志划分成小文件,一下python代码供参考


```python
# -*- coding:utf-8 -*-
def Main_split():
    source = 'E:\\Python38\\exmapleproject\\wordCloud\\00002wiki.txt' #你的大日志路径
    # 此处一定要建上target文件夹,不然会报路径错误
    target = 'E:\\Python38\\exmapleproject\\wordCloud\\enwiki\\'#输出位置
    # 文件的行数的计数器
    num = 0
    # 文件序号
    name_num = 1
    # 用于存放数据
    dataStore = []
    # 设置为UTF-8编码
    with open(source, 'r', encoding='utf-8') as file_content:
        for line in file_content:
            num += 1
            dataStore.append(line)
            # 设定每个文件为200行
            if num == 200:
                with open(target + "enwiki_" + str(name_num) + ".txt", 'w+', encoding='utf-8') as file_target:
                    for data in dataStore:
                        file_target.write(data)
                    print('====>' + target + "enwiki_" + str(name_num) + ".txt")
                name_num += 1
                num = 0
                dataStore = []

    # 处理最后的文件,如果最后的文件行数少于200行,进行如下处理
    with open(target + "enwiki_" + str(name_num) + ".txt", 'w+', encoding='utf-8') as file_target:
        for data in dataStore:
            file_target.write(data)


if __name__ == "__main__":
    Main_split()

```

安装git后,有个git-bash命令行工具,在其中可以使用一些linux命令如cat、grep、awk之类的

国内开发者开发的,支持16GB,免费试用30天,但是价格比较贵,要158块:http://cn.everedit.net/
这个是外国的,支持2TB,也有免费试用,网上激活码一大堆,价格上天了,达到280块一年:https://zh-cn.emeditor.com/