From e6e7daa1d340356a96cb5ab7f698854951062158 Mon Sep 17 00:00:00 2001 From: vms Date: Mon, 7 Dec 2020 16:26:45 +0300 Subject: [PATCH] use log::max_level() to check log level --- Cargo.toml | 4 ++-- crates/macro/Cargo.toml | 4 ++-- crates/macro/src/lib.rs | 2 +- crates/main/Cargo.toml | 4 ++-- crates/main/src/lib.rs | 2 +- crates/main/src/logger.rs | 25 +++++++++++++++++-------- crates/wit/Cargo.toml | 2 +- crates/wit/src/lib.rs | 2 +- 8 files changed, 27 insertions(+), 18 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 7557338..1cb0b72 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,8 +18,8 @@ all-features = true path = "src/lib.rs" [dependencies] -fluence-sdk-macro = { path = "crates/macro", version = "=0.2.9" } -fluence-sdk-main = { path = "crates/main", version = "=0.2.9" } +fluence-sdk-macro = { path = "crates/macro", version = "=0.2.10" } +fluence-sdk-main = { path = "crates/main", version = "=0.2.10" } [features] # Print some internal logs by log_utf8_string diff --git a/crates/macro/Cargo.toml b/crates/macro/Cargo.toml index e019f87..28256c6 100644 --- a/crates/macro/Cargo.toml +++ b/crates/macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fluence-sdk-macro" -version = "0.2.9" # remember to update html_root_url +version = "0.2.10" # remember to update html_root_url edition = "2018" description = "Definition of `#[invoke_handler]` attribute" documentation = "https://docs.rs/fluence/fluence-sdk-macro" @@ -17,4 +17,4 @@ all-features = true proc-macro = true [dependencies] -fluence-sdk-wit = { path = "../wit", version = "=0.2.9" } +fluence-sdk-wit = { path = "../wit", version = "=0.2.10" } diff --git a/crates/macro/src/lib.rs b/crates/macro/src/lib.rs index 1c534a0..c368d8e 100644 --- a/crates/macro/src/lib.rs +++ b/crates/macro/src/lib.rs @@ -54,7 +54,7 @@ //! //! ``` -#![doc(html_root_url = "https://docs.rs/fluence-sdk-macro/0.2.9")] +#![doc(html_root_url = "https://docs.rs/fluence-sdk-macro/0.2.10")] #![deny( dead_code, nonstandard_style, diff --git a/crates/main/Cargo.toml b/crates/main/Cargo.toml index 3d51736..744685f 100644 --- a/crates/main/Cargo.toml +++ b/crates/main/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fluence-sdk-main" -version = "0.2.9" # remember to update html_root_url +version = "0.2.10" # remember to update html_root_url edition = "2018" description = "Rust SDK for applications for the Fluence network" documentation = "https://docs.rs/fluence/fluence-sdk-macro" @@ -19,7 +19,7 @@ crate-type = ["rlib"] [dependencies] log = { version = "0.4.8", features = ["std"] } -fluence-sdk-macro = { path = "../macro", version = "=0.2.9" } +fluence-sdk-macro = { path = "../macro", version = "=0.2.10" } serde = "1.0.115" [dev-dependencies] diff --git a/crates/main/src/lib.rs b/crates/main/src/lib.rs index 95d70b1..9831209 100644 --- a/crates/main/src/lib.rs +++ b/crates/main/src/lib.rs @@ -19,7 +19,7 @@ #![allow(clippy::missing_safety_doc)] #![allow(clippy::needless_doctest_main)] -#![doc(html_root_url = "https://docs.rs/fluence-sdk-main/0.2.9")] +#![doc(html_root_url = "https://docs.rs/fluence-sdk-main/0.2.10")] #![deny( dead_code, nonstandard_style, diff --git a/crates/main/src/logger.rs b/crates/main/src/logger.rs index c4b18bb..8ceddc7 100644 --- a/crates/main/src/logger.rs +++ b/crates/main/src/logger.rs @@ -55,25 +55,29 @@ pub type TargetMap = std::collections::HashMap<&'static str, i64>; /// [log-crate-url]: https://docs.rs/log/ /// [`Log`]: https://docs.rs/log/0.4.11/log/trait.Log.html pub struct WasmLogger { - level: log::Level, target_map: TargetMap, } +pub struct WasmLoggerBuilder { + target_map: TargetMap, + log_level: log::Level, +} + // #[allow(dead_code)] -impl WasmLogger { - /// Initializes the global logger with a [`WasmLogger`] instance with log level set to `Level::Info`. +impl WasmLoggerBuilder { + /// Initializes a builder of the global logger with log level set to `Level::Info`. /// It is a initial method in this builder chain, please note, that logger wouldn't work without /// subsequent build() call. pub fn new() -> Self { Self { - level: log::Level::Info, + log_level: log::Level::Info, target_map: <_>::default(), } } /// Set the log level. pub fn with_log_level(mut self, level: log::Level) -> Self { - self.level = level; + self.log_level = level; self } @@ -102,9 +106,14 @@ impl WasmLogger { /// # } /// ``` pub fn build(self) -> Result<(), log::SetLoggerError> { - let log_level = self.level; + let Self { + log_level, + target_map, + } = self; - log::set_boxed_logger(Box::new(self))?; + let wasm_logger = WasmLogger { target_map }; + + log::set_boxed_logger(Box::new(wasm_logger))?; log::set_max_level(log_level.to_level_filter()); Ok(()) } @@ -113,7 +122,7 @@ impl WasmLogger { impl log::Log for WasmLogger { #[inline] fn enabled(&self, metadata: &log::Metadata<'_>) -> bool { - metadata.level() <= self.level + metadata.level() <= log::max_level() } #[inline] diff --git a/crates/wit/Cargo.toml b/crates/wit/Cargo.toml index d5bacbe..6f9ed34 100644 --- a/crates/wit/Cargo.toml +++ b/crates/wit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fluence-sdk-wit" -version = "0.2.9" # remember to update html_root_url +version = "0.2.10" # remember to update html_root_url edition = "2018" description = "Webassembly interface-types generator" documentation = "https://docs.rs/fluence/fluence-sdk-macro" diff --git a/crates/wit/src/lib.rs b/crates/wit/src/lib.rs index f1e5863..01f0fb0 100644 --- a/crates/wit/src/lib.rs +++ b/crates/wit/src/lib.rs @@ -14,7 +14,7 @@ * limitations under the License. */ -#![doc(html_root_url = "https://docs.rs/wit-support/0.2.9")] +#![doc(html_root_url = "https://docs.rs/wit-support/0.2.10")] #![deny( dead_code, nonstandard_style,