LogEvent

Struct LogEvent 

Source
pub struct LogEvent {
    pub timestamp_unix: u64,
    pub sender: Option<Participant>,
    pub receiver: Option<Participant>,
    pub event_type: EventType,
    pub channel: Channel,
    pub payload: Payload,
}
Expand description

Bundle of data emitted through the logging system.

Fields§

§timestamp_unix: u64

UNIX timestamp in seconds when the event was created.

§sender: Option<Participant>

Optional sender of the event.

§receiver: Option<Participant>

Optional receiver of the event.

§event_type: EventType

High-level event category.

§channel: Channel

Logging channel / severity level.

§payload: Payload

Arbitrary key–value payload.

Implementations§

Source§

impl LogEvent

Source

pub fn new( sender: Option<Participant>, receiver: Option<Participant>, event_type: EventType, channel: Channel, payload: Payload, ) -> Self

Create an event with the current UNIX timestamp and optional participants.

The timestamp uses SystemTime::now().duration_since(UNIX_EPOCH) and falls back to 0 if the clock is earlier than the Unix epoch. This avoids panics on misconfigured systems while still producing a stable, clearly out-of-band value.

Source

pub fn broadcast( sender: Participant, event_type: EventType, channel: Channel, payload: Payload, ) -> Self

Convenience: broadcast from a known sender to no specific receiver.

Source

pub fn system(event_type: EventType, channel: Channel, payload: Payload) -> Self

Convenience: emit an event without sender or receiver (e.g. system state).

Source

pub fn self_directed( actor: Participant, event_type: EventType, channel: Channel, payload: Payload, ) -> Self

Convenience: emit an event where sender and receiver are the same actor.

Source

pub fn id_from_str(s: &str) -> u64

Generate a deterministic identifier from an arbitrary string.

Source

pub fn emit(&self)

Emit this event using the log crate.

Uses the Debug representation to preserve all structured fields. If no logger is initialized by the final binary this is a no-op, which is fine for library consumers.

Trait Implementations§

Source§

impl Clone for LogEvent

Source§

fn clone(&self) -> LogEvent

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LogEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for LogEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for LogEvent

Source§

fn eq(&self, other: &LogEvent) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for LogEvent

Source§

impl StructuralPartialEq for LogEvent

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.