Skip to main content

Crate ufwlog

Crate ufwlog 

Source
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§

error
export
Traits and implementations for exporting UFW logs into various formats.

Structs§

UfwLog
An ufw log entry

Enums§

LoggedEvent
The ufw logged event list