Bump log dependency to version 0.4. NFC.

This doesn't affect downstream code because log 0.3.9 is a facade
crate implemented in terms of log 0.4, and so log 0.3 and log 0.4
APIs can be used together.
This commit is contained in:
whitequark 2019-06-22 08:31:11 +00:00
parent 04d1430fc9
commit be7750486f
3 changed files with 25 additions and 25 deletions

View File

@ -17,12 +17,12 @@ autoexamples = false
[dependencies] [dependencies]
managed = { version = "0.7", default-features = false, features = ["map"] } managed = { version = "0.7", default-features = false, features = ["map"] }
byteorder = { version = "1.0", default-features = false } byteorder = { version = "1.0", default-features = false }
log = { version = "0.3", default-features = false, optional = true } log = { version = "0.4", default-features = false, optional = true }
libc = { version = "0.2.18", optional = true } libc = { version = "0.2.18", optional = true }
bitflags = { version = "1.0", default-features = false } bitflags = { version = "1.0", default-features = false }
[dev-dependencies] [dev-dependencies]
env_logger = "0.4" env_logger = "0.5"
getopts = "0.2" getopts = "0.2"
rand = "0.3" rand = "0.3"
url = "1.0" url = "1.0"

View File

@ -3,15 +3,15 @@
use std::cell::RefCell; use std::cell::RefCell;
use std::str::{self, FromStr}; use std::str::{self, FromStr};
use std::rc::Rc; use std::rc::Rc;
use std::io; use std::io::{self, Write};
use std::fs::File; use std::fs::File;
use std::time::{SystemTime, UNIX_EPOCH}; use std::time::{SystemTime, UNIX_EPOCH};
use std::env; use std::env;
use std::process; use std::process;
#[cfg(feature = "log")] #[cfg(feature = "log")]
use log::{LogLevel, LogLevelFilter, LogRecord}; use log::{Level, LevelFilter};
#[cfg(feature = "log")] #[cfg(feature = "log")]
use env_logger::LogBuilder; use env_logger::Builder;
use getopts::{Options, Matches}; use getopts::{Options, Matches};
use smoltcp::phy::{Device, EthernetTracer, FaultInjector}; use smoltcp::phy::{Device, EthernetTracer, FaultInjector};
@ -24,27 +24,26 @@ use smoltcp::time::{Duration, Instant};
#[cfg(feature = "log")] #[cfg(feature = "log")]
pub fn setup_logging_with_clock<F>(filter: &str, since_startup: F) pub fn setup_logging_with_clock<F>(filter: &str, since_startup: F)
where F: Fn() -> Instant + Send + Sync + 'static { where F: Fn() -> Instant + Send + Sync + 'static {
LogBuilder::new() Builder::new()
.format(move |record: &LogRecord| { .format(move |buf, record| {
let elapsed = since_startup(); let elapsed = since_startup();
let timestamp = format!("[{}]", elapsed); let timestamp = format!("[{}]", elapsed);
if record.target().starts_with("smoltcp::") { if record.target().starts_with("smoltcp::") {
format!("\x1b[0m{} ({}): {}\x1b[0m", timestamp, writeln!(buf, "\x1b[0m{} ({}): {}\x1b[0m", timestamp,
record.target().replace("smoltcp::", ""), record.args()) record.target().replace("smoltcp::", ""), record.args())
} else if record.level() == LogLevel::Trace { } else if record.level() == Level::Trace {
let message = format!("{}", record.args()); let message = format!("{}", record.args());
format!("\x1b[37m{} {}\x1b[0m", timestamp, writeln!(buf, "\x1b[37m{} {}\x1b[0m", timestamp,
message.replace("\n", "\n ")) message.replace("\n", "\n "))
} else { } else {
format!("\x1b[32m{} ({}): {}\x1b[0m", timestamp, writeln!(buf, "\x1b[32m{} ({}): {}\x1b[0m", timestamp,
record.target(), record.args()) record.target(), record.args())
} }
}) })
.filter(None, LogLevelFilter::Trace) .filter(None, LevelFilter::Trace)
.parse(filter) .parse(filter)
.parse(&env::var("RUST_LOG").unwrap_or("".to_owned())) .parse(&env::var("RUST_LOG").unwrap_or("".to_owned()))
.init() .init();
.unwrap();
} }
#[cfg(feature = "log")] #[cfg(feature = "log")]

View File

@ -1816,24 +1816,25 @@ mod test {
#[cfg(feature = "log")] #[cfg(feature = "log")]
fn init_logger() { fn init_logger() {
extern crate log; extern crate log;
use std::boxed::Box;
struct Logger(()); struct Logger;
static LOGGER: Logger = Logger;
impl log::Log for Logger { impl log::Log for Logger {
fn enabled(&self, _metadata: &log::LogMetadata) -> bool { fn enabled(&self, _metadata: &log::Metadata) -> bool {
true true
} }
fn log(&self, record: &log::LogRecord) { fn log(&self, record: &log::Record) {
println!("{}", record.args()); println!("{}", record.args());
} }
fn flush(&self) {
}
} }
let _ = log::set_logger(|max_level| { log::set_logger(&LOGGER).unwrap();
max_level.set(log::LogLevelFilter::Trace); log::set_max_level(log::LevelFilter::Trace);
Box::new(Logger(()))
});
println!(""); println!("");
} }