Trait slog::Serializer [−][src]
pub trait Serializer {
fn emit_arguments(&mut self, key: Key, val: &Arguments) -> Result;
fn emit_usize(&mut self, key: Key, val: usize) -> Result { ... }
fn emit_isize(&mut self, key: Key, val: isize) -> Result { ... }
fn emit_bool(&mut self, key: Key, val: bool) -> Result { ... }
fn emit_char(&mut self, key: Key, val: char) -> Result { ... }
fn emit_u8(&mut self, key: Key, val: u8) -> Result { ... }
fn emit_i8(&mut self, key: Key, val: i8) -> Result { ... }
fn emit_u16(&mut self, key: Key, val: u16) -> Result { ... }
fn emit_i16(&mut self, key: Key, val: i16) -> Result { ... }
fn emit_u32(&mut self, key: Key, val: u32) -> Result { ... }
fn emit_i32(&mut self, key: Key, val: i32) -> Result { ... }
fn emit_f32(&mut self, key: Key, val: f32) -> Result { ... }
fn emit_u64(&mut self, key: Key, val: u64) -> Result { ... }
fn emit_i64(&mut self, key: Key, val: i64) -> Result { ... }
fn emit_f64(&mut self, key: Key, val: f64) -> Result { ... }
fn emit_str(&mut self, key: Key, val: &str) -> Result { ... }
fn emit_unit(&mut self, key: Key) -> Result { ... }
fn emit_none(&mut self, key: Key) -> Result { ... }
fn emit_serde(&mut self, key: Key, value: &SerdeValue) -> Result { ... }
}Serializer
Drains using Format will internally use
types implementing this trait.
Required Methods
fn emit_arguments(&mut self, key: Key, val: &Arguments) -> Result
Emit fmt::Arguments
This is the only method that has to implemented, but for performance and
to retain type information most serious Serializers will want to
implement all other methods as well.
Provided Methods
fn emit_usize(&mut self, key: Key, val: usize) -> Result
Emit $t
fn emit_isize(&mut self, key: Key, val: isize) -> Result
Emit $t
fn emit_bool(&mut self, key: Key, val: bool) -> Result
Emit $t
fn emit_char(&mut self, key: Key, val: char) -> Result
Emit $t
fn emit_u8(&mut self, key: Key, val: u8) -> Result
Emit $t
fn emit_i8(&mut self, key: Key, val: i8) -> Result
Emit $t
fn emit_u16(&mut self, key: Key, val: u16) -> Result
Emit $t
fn emit_i16(&mut self, key: Key, val: i16) -> Result
Emit $t
fn emit_u32(&mut self, key: Key, val: u32) -> Result
Emit $t
fn emit_i32(&mut self, key: Key, val: i32) -> Result
Emit $t
fn emit_f32(&mut self, key: Key, val: f32) -> Result
Emit $t
fn emit_u64(&mut self, key: Key, val: u64) -> Result
Emit $t
fn emit_i64(&mut self, key: Key, val: i64) -> Result
Emit $t
fn emit_f64(&mut self, key: Key, val: f64) -> Result
Emit $t
fn emit_str(&mut self, key: Key, val: &str) -> Result
Emit $t
fn emit_unit(&mut self, key: Key) -> Result
Emit ()
fn emit_none(&mut self, key: Key) -> Result
Emit None
fn emit_serde(&mut self, key: Key, value: &SerdeValue) -> Result
Emit a value implementing
serde::Serialize
This is especially useful for composite values, eg. structs as Json values, or sequences.
To prevent pulling-in serde dependency, this is an extension behind a
serde feature flag.
The value needs to implement SerdeValue.