From 522ba8bdc2d63c6503324baf3eacdaa0630f4673 Mon Sep 17 00:00:00 2001 From: Till Hoeppner Date: Thu, 2 Apr 2015 00:19:23 +0200 Subject: Proper logging, proper parsing --- src/format/weechat3.rs | 7 ++++--- src/main.rs | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/format/weechat3.rs b/src/format/weechat3.rs index 0837896..40445a1 100644 --- a/src/format/weechat3.rs +++ b/src/format/weechat3.rs @@ -34,7 +34,7 @@ impl Iterator for Iter where R: BufRead { fn join(s: &[&str]) -> String { let len = s.iter().map(|s| s.len()).sum(); let mut out = s.iter().fold(String::with_capacity(len), - |mut s, b| { s.push_str(b); s.push(' '); s }); + |mut s, b| { s.push_str(b); s.push(' '); s }); out.pop(); out } fn mask(s: &str) -> String { @@ -50,9 +50,10 @@ impl Iterator for Iter where R: BufRead { let tokens = self.buffer.split(|c: char| c.is_whitespace()).collect::>(); if log_enabled!(Info) { - info!("Parsing {:?}", tokens); + info!("Original: `{}`", self.buffer); + info!("Parsing: {:?}", tokens); } - match tokens.as_ref() { + match tokens[..tokens.len() - 1].as_ref() { [date, time, "-->", nick, host, "has", "joined", channel, _..] => return Some(Ok(Event::Join { nick: nick.to_owned(), channel: channel.to_owned(), mask: mask(host), time: timestamp(date, time) diff --git a/src/main.rs b/src/main.rs index 4bf22f7..be86652 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,6 +6,7 @@ extern crate docopt; extern crate rustc_serialize; extern crate libc; extern crate regex; +extern crate env_logger; use std::fs::File; use std::io::{ self, BufReader }; @@ -44,6 +45,7 @@ struct Args { } fn main() { + env_logger::init().unwrap(); let args: Args = Docopt::new(USAGE) .and_then(|d| d.decode()) .unwrap_or_else(|e| e.exit()); -- cgit v1.2.3