Skip to main content

Encode

Trait Encode 

Source
pub trait Encode {
    // Required method
    fn encode_log_value_into(&self, output: ValueEncoder<'_>);
}
Expand description

Trait for types that can be encoded as log field values.

Implementing this trait allows custom types to be used directly in log macros without requiring explicit formatting.

§Examples

use kvlog::encoding::{Encode, ValueEncoder};

struct UserId(u64);

impl Encode for UserId {
    fn encode_log_value_into(&self, output: ValueEncoder<'_>) {
        self.0.encode_log_value_into(output);
    }
}

let user_id = UserId(12345);
kvlog::info!("User action", user_id);

Required Methods§

Source

fn encode_log_value_into(&self, output: ValueEncoder<'_>)

Encodes this value into the log output buffer.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Encode for &str

Source§

impl Encode for Box<str>

Source§

impl Encode for NonZeroU64

Source§

impl Encode for String

Source§

impl Encode for Uuid

Source§

impl Encode for [u8]

Source§

impl Encode for bool

Source§

impl Encode for char

Source§

impl Encode for f32

Source§

impl Encode for f64

Source§

impl Encode for i8

Source§

impl Encode for i16

Source§

impl Encode for i32

Source§

impl Encode for i64

Source§

impl Encode for isize

Source§

impl Encode for str

Source§

impl Encode for u8

Source§

impl Encode for u16

Source§

impl Encode for u32

Source§

impl Encode for u64

Source§

impl Encode for usize

Source§

impl<T: Encode> Encode for Option<T>

Implementors§