1.2.2 • Published 4 years ago

log-analyze v1.2.2

Weekly downloads
65
License
-
Repository
github
Last release
4 years ago

log-analyze

log-analyze 是一个日志分析器, 主要是用于过滤大量的日志, 选择出自己关注的日志

日志格式要求:

2020-03-17 12:06:13.421 I [Action:AUTH/GET_USER_INFO_DONE] false
=> 日期 时间 等级 消息体

安装与使用

安装: yarn global add log-analyze 运行: logz

logz 命令行参数

  1. logz 默认行为: 选择当前的 ./logs 目录中的日志.
  2. 设置需要解析的目标目录, logz ./login-logs 将解析 login-logs 目录下的日志. 然后在目标目录中生成 output.log

基本原理

  1. 运行 logz, 将开始解析当前目录中 的 logs 中的日志.
  2. 读取例如 2020-03-17.main.log 的日志文件, 使用文件名的 中的第一段 2020-03-17 作为日志的日期
  3. logs 中可以有 .main.render 的日志文件(要求是同一天的), 读取日志文件, 使用日志文件的日期解析出每一条日志. 然后会根据时间顺序合并日志.
  4. 识别用户输入的命令, 开始过滤内存中的日志, 然后在当前目录的 output.log 中输出过滤的结果.

特殊功能

  1. logz $dir, 将会解析$dir 下的日志
  2. 对于高度压缩的日志进行解压, 如果 $dir 是一个 .tar 文件, 将会触发自动解压,并提取解压后的日志.
  3. 可以监听源日志文件是否有变更, 如果变更将会自动触发重新过滤.

过滤语法

可以过滤的关键点 1. time 时间. 2. level 日志等级. 3. message 日志的内容. 4. mark 标记某些日志.

所有的日志过滤都将使用 new RegExp 构建一个正则表达式, 可以使用正则表达式的语法.

应用举例

`12:53 IE` api.task >>> 刘某
选择时间匹配 12:53, 等级匹配 I 或则 E 的日志, 且日志内容中包含 api.task, 然后对包含刘某的日志特殊标记.

过滤时间?

例如: `12:578` 需要使用反引号包裹, 以和 消息体的过滤区分.

过滤日志等级?

例如: `E`, 过滤 所有的错误等级的日志, 需要使用反引号包裹. 由于日志等级不包含时间, 所有可以和时间自动的区分.

过滤日志内容

例1: Action:todo source, 其中使用空格表示多段的匹配. 这里表示 同时正则匹配 Action:todo 和 source

例2: source:_1 使用下划线替代空格, 下滑线将同时匹配空格和下划线本身.

标记日志

例如: >>> 刘某 , 使用>>> 后面的字段过滤, 和日志内容过滤一样的算法, 标记匹配的日志.

标记的效果为:

2020-03-17 12:06:13.421 I [Action:AUTH/GET_USER_INFO_DONE] false
2020-03-17 12:06:13.421 I [Action:AUTH/GET_USER_INFO_DONE] false
2020-03-17 12:06:13.421 I [Action:AUTH/GET_USER_INFO_DONE] false

<<<
2020-03-17 12:06:13.421 I [Action:AUTH/GET_USER_INFO_DONE] 刘某 嘿嘿!
>>>

2020-03-17 12:06:13.421 I [Action:AUTH/GET_USER_INFO_DONE] false

尖括号<<<>>>括住的就是被标记的日志.

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago