1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use {
    crate::*,
    anyhow::*,
    std::{
        path::Path,
    },
};


struct LinePrinter {
}

impl LineConsumer for LinePrinter {
    fn start_eating(
        &mut self,
        _first_date: Date,
    ) {
        // nothing to do here
    }
    fn eat_line(
        &mut self,
        _log_line: LogLine,
        raw_line: &str,
        filtered_out: bool,
    ) {
        if !filtered_out {
            print!("{}", raw_line);
        }
    }
}

pub fn print_lines(
    path: &Path,
    args: &args::Args,
) -> Result<()> {
    let mut printer = LinePrinter{};
    let mut file_reader = FileReader::new(path, args, &mut printer)?;
    time!("reading files", file_reader.read_all_files())?;
    Ok(())
}