Skip to main content

Logger

Struct Logger 

Source
pub struct Logger { /* private fields */ }

Implementations§

Source§

impl Logger

Source

pub fn new(config: LogConfig) -> Self

Source

pub fn with_otel_exporter( config: LogConfig, otel_config: OtelConfig, exporter: Arc<dyn OtelExporter>, ) -> Self

Source

pub fn config(&self) -> &LogConfig

Source

pub fn emit(&self, event: &LogEventV1) -> Result<(), LoggerError>

Validate, redact, and append an event to the canonical JSONL log.

§Errors

Returns an error when validation fails, serialization fails, the event exceeds max_event_bytes, or filesystem writes fail.

Source

pub fn emit_action( &self, source_binary: &str, target: &str, action: &str, outcome: Option<&str>, fields: Value, ) -> Result<(), LoggerError>

Convenience helper for tools that only need action/outcome + fields.

This builds a LogEventV1 with the configured log level and emits it through the same validation/redaction/path pipeline as Self::emit.

Source

pub fn emit_human( &self, level: &str, action: &str, outcome: &str, fields: &Value, ) -> Result<(), LoggerError>

Write a human-readable log line to the canonical log path.

Produces <timestamp> level=<level> action=<action> outcome=<outcome> fields=<json> format, sharing the same file-path and directory-creation logic as Self::emit. This routes Human-mode output through SharedLogger rather than a parallel per-tool implementation.

§Errors

Returns an error when directory creation or file appending fails.

Source

pub fn write_to_spool( &self, event: &LogEventV1, unix_millis: u128, ) -> Result<PathBuf, LoggerError>

Write one event to a per-source spool file for deferred fan-in merge.

§Errors

Returns an error when validation/serialization fails, the event exceeds max_event_bytes, or spool file creation/appending fails.

Source

pub fn merge_spool(&self) -> Result<u64, LoggerError>

Merge spool fragments into the canonical log in deterministic order.

Supports crash-recovery of stale .claiming files from interrupted prior merges.

§Errors

Returns an error when reading the spool directory or writing to the canonical log fails.

Trait Implementations§

Source§

impl Clone for Logger

Source§

fn clone(&self) -> Logger

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 Logger

Source§

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

Formats the value using the given formatter. Read more

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> 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> 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, 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