Expand description
§ufwlog
A library for parsing UFW (Uncomplicated Firewall) log files.
§Quick Start
Parse a log file and filter blocked events from local:
use ufwlog::{UfwLog, LoggedEvent};
let logs: Vec<UfwLog> = UfwLog::from_file("./ufw.log")?;
let blocked = logs.iter()
.filter(|log| log.event == LoggedEvent::Block)
.filter(|log| log.src == "127.0.0.1")
.collect::<Vec<_>>();Or you want to a lazy iterator to handle each log:
use std::io::BufReader;
use ufwlog::{UfwLog, LoggedEvent};
let reader = BufReader::new(std::fs::File::open("./ufw.log")?);
let log_iters = UfwLog::from_buf_reader(reader);
let blocked = log_iters
.filter_map(|log| log.ok())
.filter(|log| log.event == LoggedEvent::Block)
.filter(|log| log.src == "127.0.0.1")
.for_each(|log| println!("{}", log.dst));Modules§
Structs§
- UfwLog
- An ufw log entry
Enums§
- Logged
Event - The ufw logged event list