summaryrefslogtreecommitdiffstats
path: root/third_party/rust/uuid/src/slog_support.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/uuid/src/slog_support.rs')
-rw-r--r--third_party/rust/uuid/src/slog_support.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/third_party/rust/uuid/src/slog_support.rs b/third_party/rust/uuid/src/slog_support.rs
new file mode 100644
index 0000000000..4046ae9040
--- /dev/null
+++ b/third_party/rust/uuid/src/slog_support.rs
@@ -0,0 +1,39 @@
+// Copyright 2013-2014 The Rust Project Developers.
+// Copyright 2018 The Uuid Project Developers.
+//
+// See the COPYRIGHT file at the top-level directory of this distribution.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use crate::prelude::*;
+use slog;
+
+impl slog::Value for Uuid {
+ fn serialize(
+ &self,
+ _: &slog::Record<'_>,
+ key: slog::Key,
+ serializer: &mut dyn slog::Serializer,
+ ) -> Result<(), slog::Error> {
+ serializer.emit_arguments(key, &format_args!("{}", self))
+ }
+}
+
+#[cfg(test)]
+mod tests {
+
+ #[test]
+ fn test_slog_kv() {
+ use crate::test_util;
+ use slog;
+ use slog::{crit, Drain};
+
+ let root = slog::Logger::root(slog::Discard.fuse(), slog::o!());
+ let u1 = test_util::new();
+ crit!(root, "test"; "u1" => u1);
+ }
+}