diff --git a/src/agent/Cargo.toml b/src/agent/Cargo.toml index 6f97b80428..0879bd616d 100644 --- a/src/agent/Cargo.toml +++ b/src/agent/Cargo.toml @@ -6,6 +6,7 @@ edition = "2018" [dependencies] oci = { path = "oci" } +logging = { path = "logging" } rustjail = { path = "rustjail" } protocols = { path = "protocols" } netlink = { path = "netlink" } @@ -27,8 +28,6 @@ regex = "1" # - The 'max_*' features allow changing the log level at runtime # (by stopping the compiler from removing log calls). slog = { version = "2.5.2", features = ["dynamic-keys", "max_level_trace", "release_max_level_info"] } -slog-json = "2.3.0" -slog-async = "2.3.0" slog-scope = "4.1.2" # for testing tempfile = "3.1.0" diff --git a/src/agent/logging/Cargo.toml b/src/agent/logging/Cargo.toml new file mode 100644 index 0000000000..ab73679223 --- /dev/null +++ b/src/agent/logging/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "logging" +version = "0.1.0" +authors = ["Tim Zhang "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +serde_json = "1.0.39" +# slog: +# - Dynamic keys required to allow HashMap keys to be slog::Serialized. +# - The 'max_*' features allow changing the log level at runtime +# (by stopping the compiler from removing log calls). +slog = { version = "2.5.2", features = ["dynamic-keys", "max_level_trace", "release_max_level_info"] } +slog-json = "2.3.0" +slog-async = "2.3.0" +slog-scope = "4.1.2" +# for testing +tempfile = "3.1.0" \ No newline at end of file diff --git a/src/agent/src/logging.rs b/src/agent/logging/src/lib.rs similarity index 98% rename from src/agent/src/logging.rs rename to src/agent/logging/src/lib.rs index a5d4a94eed..bd798379ae 100644 --- a/src/agent/src/logging.rs +++ b/src/agent/logging/src/lib.rs @@ -2,6 +2,8 @@ // // SPDX-License-Identifier: Apache-2.0 // +#[macro_use] +extern crate slog; use slog::{BorrowedKV, Drain, Key, OwnedKV, OwnedKVList, Record, KV}; use std::collections::HashMap; @@ -146,12 +148,6 @@ impl RuntimeLevelFilter { level: Mutex::new(level), } } - - fn set_level(&self, level: slog::Level) { - let mut log_level = self.level.lock().unwrap(); - - *log_level = level; - } } impl Drain for RuntimeLevelFilter diff --git a/src/agent/src/main.rs b/src/agent/src/main.rs index b8a54698f3..c237da90f7 100644 --- a/src/agent/src/main.rs +++ b/src/agent/src/main.rs @@ -25,8 +25,6 @@ extern crate scopeguard; #[macro_use] extern crate slog; -extern crate slog_async; -extern crate slog_json; #[macro_use] extern crate netlink; @@ -50,7 +48,6 @@ use unistd::Pid; mod config; mod device; mod linux_abi; -mod logging; mod mount; mod namespace; mod network;