From e08ed545eec0a04fb9442d459a7aed875ec701bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 25 Aug 2015 23:51:49 +0200 Subject: [PATCH] Use log crate instead of println Allows more granular control over what gets logged to the console. --- Cargo.lock | 11 +++++++++++ Cargo.toml | 2 ++ src/audio_file.rs | 2 +- src/lib.rs | 2 ++ src/main.rs | 9 +++++++++ src/mercury.rs | 2 +- src/player.rs | 2 +- 7 files changed, 27 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d0b82371..78b37840 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6,6 +6,7 @@ dependencies = [ "byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "clippy 0.0.55 (registry+https://github.com/rust-lang/crates.io-index)", "dns-sd 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "eventual 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -14,6 +15,7 @@ dependencies = [ "libpulse-sys 0.0.0 (git+https://github.com/astro/libpulse-sys)", "librespot-protocol 0.1.0", "lmdb-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", "portaudio 0.2.0 (git+https://github.com/mvdnes/portaudio-rs)", @@ -123,6 +125,15 @@ dependencies = [ "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "env_logger" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.58 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "eventual" version = "0.1.6" diff --git a/Cargo.toml b/Cargo.toml index 44e8e5e4..39cc5e90 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,6 +33,8 @@ rustc-serialize = "~0.3.16" tempfile = "~2.0.0" time = "~0.1.34" url = "~0.5.2" +log = "0.3" +env_logger = "0.3" shannon = { git = "https://github.com/plietar/rust-shannon" } vorbis = "~0.0.14" diff --git a/src/audio_file.rs b/src/audio_file.rs index 0c47063c..f61937a8 100644 --- a/src/audio_file.rs +++ b/src/audio_file.rs @@ -122,7 +122,7 @@ impl AudioFile { (index * CHUNK_SIZE / 4) as u32, (CHUNK_SIZE / 4) as u32); - println!("Chunk {}", index); + trace!("Chunk {}", index); write_file.seek(SeekFrom::Start((index * CHUNK_SIZE) as u64)).unwrap(); diff --git a/src/lib.rs b/src/lib.rs index 5c293a31..8fa3c701 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -25,6 +25,8 @@ extern crate time; extern crate tempfile; extern crate url; +#[macro_use] extern crate log; + #[cfg(not(feature = "with-tremor"))] extern crate vorbis; #[cfg(feature = "with-tremor")] diff --git a/src/main.rs b/src/main.rs index 82875ba6..3c0d384f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,7 @@ extern crate getopts; extern crate librespot; extern crate rpassword; +extern crate env_logger; use rpassword::read_password; use std::clone::Clone; @@ -8,6 +9,7 @@ use std::fs::File; use std::io::{stdout, Read, Write}; use std::path::PathBuf; use std::thread; +use std::env; use librespot::audio_backend::BACKENDS; use librespot::authentication::{Credentials, facebook_login, discovery_login}; @@ -30,6 +32,13 @@ static APPKEY: Option<&'static [u8]> = Some(include_bytes!(concat!(env!("CARGO_M static APPKEY: Option<&'static [u8]> = None; fn main() { + let rust_log = "RUST_LOG"; + if let Err(_) = env::var(rust_log) { + env::set_var(rust_log, "info") + } + + env_logger::init().unwrap(); + println!("librespot {} ({}). Built on {}.", version::short_sha(), version::commit_date(), diff --git a/src/mercury.rs b/src/mercury.rs index 3cbf1139..69b5c3bd 100644 --- a/src/mercury.rs +++ b/src/mercury.rs @@ -207,7 +207,7 @@ impl PacketHandler for MercuryManager { callback: MercuryCallback::Channel, } } else { - println!("Ignore seq {:?} cmd {}", seq, cmd); + warn!("Ignore seq {:?} cmd {}", seq, cmd); return; }; diff --git a/src/player.rs b/src/player.rs index 48becb9b..7f381470 100644 --- a/src/player.rs +++ b/src/player.rs @@ -224,7 +224,7 @@ impl PlayerInternal { true }); - println!("Load Done"); + info!("Load Done"); } Some(PlayerCommand::Seek(position)) => { vorbis_time_seek_ms(decoder.as_mut().unwrap(), position as i64).unwrap();