4 个版本
0.1.3 | 2022年6月5日 |
---|---|
0.1.2 | 2022年6月4日 |
0.1.1 | 2022年6月4日 |
0.1.0 | 2022年6月4日 |
#686 in 调试
用于 2 个 crate(通过 terminal-ui)
76KB
2K SLoC
Log Analyzer Pro (lap)
一个用 Rust 编写的强大的终端日志分析应用程序
功能
- 从文件或套接字读取日志。它实时更新新的条目
- 可选地使用正则表达式格式化日志,以匹配日期、时间戳、应用程序、严重性、函数、有效负载等类别,便于阅读和过滤
- 包括、排除或标记正则表达式过滤器
- 正则表达式搜索
安装
cargo install log-analyzer-pro
二进制可执行文件是 lap
用法
菜单导航
使用 Shift + 箭头键 或 ⇥ Tab 在应用程序菜单之间导航并更改焦点。
- 左: ⇧ Shift + ←
- 右: ⇧ Shift + →
- 上: ⇧ Shift + ↑
- 下: ⇧ Shift + ↓
内部导航
当焦点在选项卡、列表或表格上时,使用 箭头键 来更改选择
- 左: ←
- 右: →
- 上: ↑
- 下: ↓
调整模块大小
- 左调整大小: ⇧ Shift + A
- 右调整大小: ⇧ Shift + D
- 上调整大小: ⇧ Shift + W
- 下调整大小: ⇧ Shift + S
源模块
- + 或 i 来添加新的日志
过滤器模块
- 添加新的过滤器:使用 + 或 i 到
- 使用
内部导航
选择过滤器 - 编辑选定的过滤器:使用 e
日志和搜索结果模块
-
使用
内部导航
在日志中导航并应用水平滚动 -
按 ⌥ Option 或 Alt +
内部导航
进行快速滚动 -
按 Page Up 或 Page Down 进行分页 1000 行
-
导航到索引(或最接近的):使用 ⇧ Shift + G
-
切换列的 ON/OFF
- i: 索引
- d: 日期
- d: 时间戳
- a:应用
- s:严重性
- f:函数
- p:有效载荷
-
如果您处于
搜索结果
中,您可以通过按日志模块
中的选择索引:⏎ Enter
搜索高亮显示
您可以使用正则表达式的分组来突出显示搜索结果。分组的名称应该是您想要突出显示匹配项的颜色。可用的颜色列表如下
- 黑色
- 白色
- 红色
- 绿色
- 黄色
- 蓝色
- 品红色
- 青色
- 灰色
- 深灰色
- 浅红色
- 浅绿色
- 浅黄色
- 浅蓝色
- 浅品红色
- 浅青色
搜索示例
(?P<GREEN>success_ok).*(?P<BLUE>message)
自定义
您可以使用JSON文件通过命令行参数来自定义应用程序的外观,并预加载格式和过滤器
lap --settings path_to_settings_file.json
- 主色:RGB元组(红,绿,蓝)
- 格式:别名和正则表达式列表
- 正则表达式用于将行格式化为可用列。为此,您需要捕获组。有效的组包括
- 日期
- 时间戳
- 应用
- 严重性
- 函数
- 有效载荷
- 正则表达式用于将行格式化为可用列。为此,您需要捕获组。有效的组包括
- 过滤器:别名、操作和过滤器列表
- 操作:以下之一
{INCLUDE, EXCLUDE, MARKER}
- 过滤器:字典
{column_name: regex and color: RGB元组 (red, green, blue)}
。所有字段都是可选的
- 操作:以下之一
示例文件
{
"primary_color": [0, 225, 255],
"formats": [
{
"alias": "Default",
"regex": "(?P<PAYLOAD>.*)"
},
{
"alias": "Application",
"regex": "(?P<DATE>[\\d]{4}-[\\d]{2}-[\\d]{2} [\\d]{2}:[\\d]{2}:[\\d]{2},[\\d]{3}) - \\[(?P<SEVERITY>[\\w]*)\\] - \\[([ \\w]{4})\\] - \\[(?P<TIMESTAMP>[ \\d]*)\\] (?P<PAYLOAD>.*)"
},
{
"alias": "System",
"regex": "(?P<DATE>[\\d]{4}-[\\d]{2}-[\\d]{2} [\\d]{2}:[\\d]{2}:[\\d]{2}.[\\d]*) \\((?P<APP>[\\w\\d]*)[/ ]?(?P<FUNCTION>.*)\\) (?P<PAYLOAD>.*)"
}
],
"filters": [
{
"alias": "System",
"action": "MARKER",
"filter": {
"app": "system",
"color": [100, 100, 0]
}
},
{
"alias": "SIGKILL",
"action": "MARKER",
"filter": {
"payload": "SIGKILL",
"color": [255, 0, 0]
}
}
]
}
许可证
双许可协议下:MIT或UNLICENSE。
依赖关系
~18–33MB
~407K SLoC