Mercurial > lbo > hg > leveldb-rs
changeset 275:7cd36dae08dd
options/infolog: Put logger into Option.
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Thu, 21 Sep 2017 18:24:42 +0200 |
parents | 5d65cde43e38 |
children | 5577baac7c4a |
files | src/infolog.rs src/options.rs |
diffstat | 2 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/infolog.rs Thu Sep 21 18:24:15 2017 +0200 +++ b/src/infolog.rs Thu Sep 21 18:24:42 2017 +0200 @@ -9,8 +9,10 @@ #[macro_export] macro_rules! log { - ($l:expr) => ($l.borrow_mut().0.write("\n".as_bytes()).is_ok()); - ($l:expr, $fmt:expr) => ($l.borrow_mut().0.write(concat!($fmt, "\n").as_bytes()).is_ok()); + ($l:expr) => ($l.as_ref().map(|l| l.borrow_mut().0.write("\n".as_bytes()).is_ok())); + ($l:expr, $fmt:expr) => ( + $l.as_ref().map(|l| l.borrow_mut().0.write(concat!($fmt, "\n").as_bytes()).is_ok())); ($l:expr, $fmt:expr, $($arg:tt)*) => ( - $l.borrow_mut().0.write_fmt(format_args!(concat!($fmt, "\n"), $($arg)*)).is_ok()); + $l.as_ref().map( + |l| l.borrow_mut().0.write_fmt(format_args!(concat!($fmt, "\n"), $($arg)*)).is_ok())); }
--- a/src/options.rs Thu Sep 21 18:24:15 2017 +0200 +++ b/src/options.rs Thu Sep 21 18:24:42 2017 +0200 @@ -41,7 +41,7 @@ pub struct Options { pub cmp: Rc<Box<Cmp>>, pub env: Rc<Box<Env>>, - pub log: Shared<Logger>, + pub log: Option<Shared<Logger>>, pub create_if_missing: bool, pub error_if_exists: bool, pub paranoid_checks: bool, @@ -61,7 +61,7 @@ Options { cmp: Rc::new(Box::new(DefaultCmp)), env: Rc::new(Box::new(disk_env::PosixDiskEnv::new())), - log: share(Logger(Box::new(io::sink()))), + log: None, create_if_missing: true, error_if_exists: false, paranoid_checks: false, @@ -82,7 +82,7 @@ pub fn for_test() -> Options { let mut o = Options::default(); o.env = Rc::new(Box::new(MemEnv::new())); - o.log = share(infolog::stderr()); + o.log = Some(share(infolog::stderr())); o }