struct_log_self/common/
mod.rs1use slog::*;
2use std::{fmt, result};
3
4pub struct PrintlnSerializer;
5
6impl Serializer for PrintlnSerializer {
7 fn emit_arguments(&mut self, key: Key, val: &fmt::Arguments) -> Result {
8 print!(", {}={}", key, val);
9 Ok(())
10 }
11}
12
13pub struct PrintlnDrain;
14
15impl Drain for PrintlnDrain {
16 type Ok = ();
17 type Err = ();
18
19 fn log(
20 &self,
21 record: &Record,
22 values: &OwnedKVList,
23 ) -> result::Result<Self::Ok, Self::Err> {
24
25 print!("{}", record.msg());
26
27 record
28 .kv()
29 .serialize(record, &mut PrintlnSerializer)
30 .unwrap();
31 values.serialize(record, &mut PrintlnSerializer).unwrap();
32
33 println!("");
34 Ok(())
35 }
36}