Skip to main content

EventLogger

Struct EventLogger 

Source
pub struct EventLogger { /* private fields */ }
Expand description

Logger that writes events to a JSONL file.

Implementations§

Source§

impl EventLogger

Source

pub const DEFAULT_PATH: &'static str = ".ralph/events.jsonl"

Default path for the events file.

Source

pub fn new(path: impl Into<PathBuf>) -> Self

Creates a new event logger.

The .ralph/ directory is created if it doesn’t exist.

Source

pub fn default_path() -> Self

Creates a logger with the default path.

Source

pub fn from_context(context: &LoopContext) -> Self

Creates a logger using the events path from a LoopContext.

This reads the timestamped events path from the marker file if it exists, falling back to the default events path. This ensures the logger writes to the correct location when running in a worktree or other isolated workspace.

Source

pub fn log(&mut self, record: &EventRecord) -> Result<()>

Logs an event record.

Uses a single write_all call to ensure the JSON line is written atomically. This prevents corruption when multiple processes append to the same file concurrently (e.g., during parallel merge queue processing).

Source

pub fn log_event( &mut self, iteration: u32, hat: &str, event: &Event, triggered: Option<&HatId>, ) -> Result<()>

Convenience method to log an event directly.

Source

pub fn path(&self) -> &Path

Returns the path to the log file.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more