1use std::env;
2
3use slog2_parse::{LogFile, PacketInfo};
4
5fn main() {
6 let log_file = LogFile::open(&env::args().nth(1).expect("Couldn't not get argument."))
7 .expect("Could not open file");
8
9 let log_info = log_file
10 .info()
11 .expect("Couldn't get information about the log");
12 println!("{:#?}", log_info);
13
14 println!("Buffers:");
15 for (index, buffer_info) in log_file.into_iter().enumerate() {
16 let buffer_info = buffer_info.expect("Couldn't get info about buffer {index}.");
17 println!("{:#?}", buffer_info);
18
19 log_file
20 .parse_static(index as i32, my_callback)
21 .expect("LogFile::parse_static() failed");
22 }
23}
24
25fn my_callback(info: PacketInfo) -> Result<(), i32> {
26 println!(
27 "Processing packet {} of size {}",
28 info.sequence_number(),
29 info.size()
30 );
31 println!("\t{:?}: {}", info.severity(), info.message().unwrap());
32 Ok(())
33}