You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2023/04/29 11:23:53 UTC
[incubator-opendal] branch main updated: refactor(layers/logging): parsing level str (#2160)
This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
The following commit(s) were added to refs/heads/main by this push:
new 4aa54745 refactor(layers/logging): parsing level str (#2160)
4aa54745 is described below
commit 4aa5474561f17929170771a258793ecdb1cb7992
Author: Chojan Shang <ps...@apache.org>
AuthorDate: Sat Apr 29 19:23:49 2023 +0800
refactor(layers/logging): parsing level str (#2160)
* refactor(layers/logging): parsing level str
Signed-off-by: Chojan Shang <ps...@apache.org>
* fix: make clippy happy
Signed-off-by: Chojan Shang <ps...@apache.org>
* refactor(layer/logging): parse level must succeed
Signed-off-by: Chojan Shang <ps...@apache.org>
* refactor(layer/logging): return reslut self
Signed-off-by: Chojan Shang <ps...@apache.org>
* refactor(layer/logging): return an error install panic
Signed-off-by: Chojan Shang <ps...@apache.org>
* refactor(layer/logging): add input level to error context
Signed-off-by: Chojan Shang <ps...@apache.org>
---------
Signed-off-by: Chojan Shang <ps...@apache.org>
---
core/src/layers/logging.rs | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
diff --git a/core/src/layers/logging.rs b/core/src/layers/logging.rs
index 208ebffb..385cde8f 100644
--- a/core/src/layers/logging.rs
+++ b/core/src/layers/logging.rs
@@ -105,9 +105,17 @@ impl LoggingLayer {
/// For example: accessor returns NotFound.
///
/// `None` means disable the log for error.
- pub fn with_error_level(mut self, level: Option<Level>) -> Self {
- self.error_level = level;
- self
+ pub fn with_error_level(mut self, level: Option<&str>) -> Result<Self> {
+ if let Some(level_str) = level {
+ let level = level_str.parse().map_err(|_| {
+ Error::new(ErrorKind::ConfigInvalid, "invalid log level")
+ .with_context("level", level_str)
+ })?;
+ self.error_level = Some(level);
+ } else {
+ self.error_level = None;
+ }
+ Ok(self)
}
/// Setting the log level while unexpected failure happened.
@@ -115,9 +123,17 @@ impl LoggingLayer {
/// For example: accessor returns Unexpected network error.
///
/// `None` means disable the log for failure.
- pub fn with_failure_level(mut self, level: Option<Level>) -> Self {
- self.failure_level = level;
- self
+ pub fn with_failure_level(mut self, level: Option<&str>) -> Result<Self> {
+ if let Some(level_str) = level {
+ let level = level_str.parse().map_err(|_| {
+ Error::new(ErrorKind::ConfigInvalid, "invalid log level")
+ .with_context("level", level_str)
+ })?;
+ self.failure_level = Some(level);
+ } else {
+ self.failure_level = None;
+ }
+ Ok(self)
}
}