16 个版本 (2 个稳定版)
1.0.1 | 2022年2月3日 |
---|---|
1.0.0 | 2020年11月26日 |
0.2.8 | 2020年11月9日 |
0.2.7 | 2020年9月25日 |
0.1.4 | 2020年8月19日 |
#1964 在 命令行工具
每月 43 次下载
37KB
977 行
用于监控日志文件的终端仪表盘
logtail
以 tail -f
的方式在终端中显示一个或多个日志文件。
logtail
的功能
- 可以显示多个日志文件,一个接一个或并排显示
- 随着每个日志文件的增长,显示会更新
- 使用制表符键或箭头键进行导航和滚动
- 您可以将 logtail-dash 分支出来以创建对日志文件数据的自定义视图
logtail
使用 Rust 编写,并使用 tui-rs 创建终端 UI,以及 linemux 监控日志文件。
操作系统
- Linux: 在 Ubuntu 上工作。
- Windows: 在 Windows 10 上工作。
- MacOS: 通知我发生了什么!
从 crates.io 安装
1 通过 https://doc.rust-lang.net.cn/cargo/getting-started/installation.html 安装 Rust
2 Linux (Ubuntu)
sudo apt-get install build-essential
3a. Linux/MacOS 安装 logtail:
cargo install logtail
logtail --help
3b. Windows 安装 logtail-crossterm:
在 Windows 上构建时,您必须使用 'nightly' 编译器,直到 'itarget' 功能成为 'stable' 的一部分,因此请使用 rustup
安装 Rust nightly
rustup toolchain install nightly
在 Windows 上构建 logtail-crossterm
,克隆 logtail-dash,使用 +nightly
构建,并使用 ./target/release
下的二进制文件
git clone https://github.com/happybeing/logtail-dash
cd logtail-dash
cargo +nightly build -Z features=itarget --bin logtail-crossterm --release --no-default-features
./target/release/logtail-crossterm --help
注意:vdash
是 logtail
的分支,提供 SAFE Network Vaults 的仪表盘(参见 vdash)。
用法
在终端中输入命令和您想要监控的一个或多个日志文件的路径。例如
logtail /var/log/auth.log /var/log/kern.log
当仪表盘处于活动状态时,按 'v' 或 'h' 切换到水平和垂直排列(当查看多个日志文件时)。
更多信息
logtail --help
自定义日志文件仪表盘
如果您想使用 logtail-dash 的核心功能来创建基于文件实时更新的自定义终端显示,您可以通过创建分支并在 src/custom 中的文件进行自定义来实现。
src/custom/opt.rs
:命令行选项和用法
src/custom/app.rs
:应用程序逻辑(例如,将日志文件解析为“仪表板状态”)
src/custom/ui.rs
:仪表板显示和键盘/鼠标界面
示例:vdash
是logtail
的一个分支,为SAFE Network保险库提供仪表板(见vdash)。
构建
获取先决条件
获取代码
git clone https://github.com/happybeing/logtail-dash
cd logtail-dash
构建
Linux / MacOS
构建使用termion后端(见tui-rs)的logtail。注意:MacOS尚未测试
cargo build --bin logtail --features="termion" --release
Windows 10
构建使用crossterm后端(见tui-rs)的logtail-crossterm,旨在支持Windows。
目前尚未在Windows上工作,目前正在解决。欢迎测试。
cargo build --bin logtail-crossterm --features="crossterm" --release
快速测试
以下是一些构建和运行logtail
以监视Linux日志文件的实用命令。
打开两个终端,在一个中运行logtail-dash
cargo run --bin logtail --features="termion" /var/log/auth.log /var/log/kern.log
在第二个终端中,您可以尝试并失败地使用'su root'来影响第一个日志文件
su root </dev/null
您可以使用任何日志文件进行此基本级别的测试。以下是一些尝试的日志文件
/var/log/syslog
/var/log/auth.log
/var/log/lastlog
/var/log/dmesg
/var/log/kern.log
/var/log/boot.log
许可协议
除非另有说明,否则一切均为GPL3.0。任何贡献都必须符合此许可协议。
另请参阅./LICENSE
依赖项
~9–18MB
~231K SLoC