3 releases
0.1.2 | Nov 18, 2024 |
---|---|
0.1.1 | Nov 15, 2024 |
0.1.0 | Nov 15, 2024 |
#593 in Asynchronous
319 downloads per month
6KB
86 lines
tailf
A Rust library that provides an async file tailing functionality using the system's tail
command, powered by tokio::process::Command
.
Installation
Add this to your Cargo.toml
:
[dependencies]
tailf = "0.1.0"
Usage
use tailf::tailf;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Read last 10 lines and follow new updates
let num_lines = 10;
let mut tailer = tailf("/var/log/syslog", Some(num_lines));
while let Some(line) = tailer.next().await? {
let line_str = String::from_utf8_lossy(&line);
print!("{}", line_str);
std::io::stdout().flush()?;
}
Ok(())
}
Cleanup
The underlying tail
process is automatically terminated when the tailer
instance is dropped.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Dependencies
~3–12MB
~128K SLoC