feat(bin, storage): configurable MDBX log level (#3524)

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
This commit is contained in:
Alexey Shekhirin
2023-07-03 13:45:32 +01:00
committed by GitHub
parent 4d3ce34901
commit 770652a787
28 changed files with 215 additions and 86 deletions

View File

@ -38,6 +38,7 @@ secp256k1 = { workspace = true, default-features = false, features = [
], optional = true }
modular-bitfield = "0.11.2"
parking_lot = "0.12.1"
clap = { version = "4", features = ["derive"], optional = true }
[dev-dependencies]
reth-db = { path = "../storage/db", features = ["test-utils"] }
@ -53,3 +54,4 @@ secp256k1 = { workspace = true, features = [
[features]
test-utils = ["tokio-stream/sync", "secp256k1", "rand/std_rng"]
cli = ["clap"]

View File

@ -31,4 +31,29 @@ pub enum DatabaseError {
/// Failed to get database stats.
#[error("Database stats error code: {0:?}")]
Stats(i32),
/// Failed to use the specified log level, as it's not available.
#[error("Log level is not available: {0:?}")]
LogLevelUnavailable(LogLevel),
}
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
#[cfg_attr(feature = "clap", derive(clap::ValueEnum))]
/// Database log level.
pub enum LogLevel {
/// Enables logging for critical conditions, i.e. assertion failures.
Fatal,
/// Enables logging for error conditions.
Error,
/// Enables logging for warning conditions.
Warn,
/// Enables logging for normal but significant condition.
Notice,
/// Enables logging for verbose informational.
Verbose,
/// Enables logging for debug-level messages.
Debug,
/// Enables logging for trace debug-level messages.
Trace,
/// Enables logging for extra debug-level messages.
Extra,
}