[][src]Trait slog::Serializer

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_u128(&mut self, key: Key, val: u128) -> Result { ... }
fn emit_i128(&mut self, key: Key, val: i128) -> 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: &dyn 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.

Loading content...

Provided methods

fn emit_usize(&mut self, key: Key, val: usize) -> Result

Emit usize

fn emit_isize(&mut self, key: Key, val: isize) -> Result

Emit isize

fn emit_bool(&mut self, key: Key, val: bool) -> Result

Emit bool

fn emit_char(&mut self, key: Key, val: char) -> Result

Emit char

fn emit_u8(&mut self, key: Key, val: u8) -> Result

Emit u8

fn emit_i8(&mut self, key: Key, val: i8) -> Result

Emit i8

fn emit_u16(&mut self, key: Key, val: u16) -> Result

Emit u16

fn emit_i16(&mut self, key: Key, val: i16) -> Result

Emit i16

fn emit_u32(&mut self, key: Key, val: u32) -> Result

Emit u32

fn emit_i32(&mut self, key: Key, val: i32) -> Result

Emit i32

fn emit_f32(&mut self, key: Key, val: f32) -> Result

Emit f32

fn emit_u64(&mut self, key: Key, val: u64) -> Result

Emit u64

fn emit_i64(&mut self, key: Key, val: i64) -> Result

Emit i64

fn emit_f64(&mut self, key: Key, val: f64) -> Result

Emit f64

fn emit_u128(&mut self, key: Key, val: u128) -> Result

Emit u128

fn emit_i128(&mut self, key: Key, val: i128) -> Result

Emit i128

fn emit_str(&mut self, key: Key, val: &str) -> Result

Emit &str

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: &dyn 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.

Loading content...

Implementors

Loading content...