FmtWrite

Struct FmtWrite 

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

A specialized factory for creating loggers that write to memory-oriented destinations.

The FmtFactory acts as the entry point for any output that implements std::fmt::Write. It allows you to configure global retry and threading policies before selecting a specific output target (like a String writer).

§Default Configuration

  • Max Retries: 3 (Attempts to re-send if a write failure occurs).
  • Worker Count: 1 (Single background thread to maintain message order).

Implementations§

Source§

impl FmtWrite

Source

pub fn string(self) -> StringFmt

Specializes the factory to log directly to a String.

This is the most direct path for string logging. Each log entry is appended directly into an string.

Source

pub fn string_with_capacity(self, capacity: usize) -> StringFmt

Specializes the factory to log directly to a String. Allows to set a custom capacity.

This is the most direct path for string logging. Each log entry is appended directly into an string.

Source

pub fn string_sullied(self, writer: String) -> StringFmt

Specializes the factory to log directly to a String. Allows to set an already existing string as the destiny.

This is the most direct path for string logging. Each log entry is appended directly into an string.

Source

pub fn writer<W>(self, writer: W) -> TypedFmtWrite<W>
where W: Write + Send + Sync + 'static,

Specializes the factory for any generic type implementing std::fmt::Write.

Source

pub fn boxed(self, writer: Box<dyn Write + Send + Sync>) -> BoxedFmtWrite

Specializes the factory for any generic type implementing Box<dyn std::fmt::Write + Send + Sync>.

Source

pub fn max_retries(self, max_retries: usize) -> Self

Configures the maximum number of retries for the resulting service.

Source

pub fn worker_count(self, worker_count: usize) -> Self

Configures the background worker thread count for asynchronous logging.

Source

pub fn build<W>(self, concurrency: Concurrency, writer: W) -> Logger
where W: Write + Send + Sync + 'static,

Finalizes the logger using a specific writer and a Concurrency strategy. This uses the default StandardWriteMessageFormatter.

Source

pub fn build_impl_direct<W>(self, writer: W) -> Box<DirectLogger>
where W: Write + Send + Sync + 'static,

Builds a DirectLogger implementation wrapped in a Box.

Source

pub fn build_impl_queued<W>(self, writer: W) -> Box<QueuedLogger>
where W: Write + Send + Sync + 'static,

Builds a QueuedLogger implementation wrapped in a Box.

Source

pub fn build_service<W>( self, writer: W, ) -> Box<FmtWrite<W, StandardWriteMessageFormatter>>
where W: Write + Send + Sync + 'static,

Internal helper to construct the service::FmtWrite service with the standard formatter.

Source

pub fn build_with_formatter<W, MF>( self, concurrency: Concurrency, writer: W, formatter: MF, ) -> Logger
where MF: WriteMessageFormatter + 'static, W: Write + Send + Sync + 'static,

Finalizes the logger using a custom formatter and a Concurrency strategy.

Source

pub fn build_impl_direct_with_formatter<W, MF>( self, writer: W, formatter: MF, ) -> Box<DirectLogger>
where MF: WriteMessageFormatter + 'static, W: Write + Send + Sync + 'static,

Builds a DirectLogger with a custom formatter.

Source

pub fn build_impl_queued_with_formatter<W, MF>( self, writer: W, formatter: MF, ) -> Box<QueuedLogger>
where MF: WriteMessageFormatter + 'static, W: Write + Send + Sync + 'static,

Builds a QueuedLogger with a custom formatter.

Source

pub fn build_service_with_formatter<W, MF>( self, writer: W, formatter: MF, ) -> Box<FmtWrite<W, MF>>
where MF: WriteMessageFormatter + 'static, W: Write + Send + Sync + 'static,

Internal helper to construct the service::FmtWrite service with a custom formatter.

Trait Implementations§

Source§

impl Default for FmtWrite

Source§

fn default() -> Self

Provides sensible defaults for byte-oriented logging.

  • max_retries: 3 (Standard resilience against transient I/O issues).
  • worker_count: 1 (Ensures sequential log ordering in asynchronous mode).

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.

§

impl<T> Instrument for T

§

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

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

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

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

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

§

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
§

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

Source§

type Output = T

Should always be Self
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.
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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