Merge pull request #493 from undef1nd/impl-kv-for-tags

This commit is contained in:
JR Conlin 2020-03-19 10:39:43 -07:00 committed by GitHub
commit f7c8203d23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View File

@ -52,7 +52,7 @@ serde_json = { version = "1.0", features = ["arbitrary_precision"] }
serde_urlencoded = "0.6.1"
scheduled-thread-pool = "0.2"
sha2 = "0.8.0"
slog = { version = "2.5", features = ["max_level_trace", "release_max_level_error"] }
slog = { version = "2.5", features = ["max_level_trace", "release_max_level_error", "dynamic-keys"] }
slog-async = "2.3"
slog-envlogger = "2.2.0"
slog-mozlog-json = "0.1"

View File

@ -12,6 +12,7 @@ use serde::{
Serialize,
};
use serde_json::value::Value;
use slog::{Key, Record, KV};
use crate::server::user_agent::parse_user_agent;
@ -141,3 +142,12 @@ impl Into<BTreeMap<String, String>> for Tags {
result
}
}
impl KV for Tags {
fn serialize(&self, _rec: &Record<'_>, serializer: &mut dyn slog::Serializer) -> slog::Result {
for (key, val) in &self.tags {
serializer.emit_str(Key::from(key.clone()), &val)?;
}
Ok(())
}
}