Skip to main content

EffectLogger

Struct EffectLogger 

Source
pub struct EffectLogger;
Expand description

Log sink for use as effectful::Service<EffectLogKey, Self>; forwards to tracing.

Extracted from the environment with bind* EffectLogger inside effectful::effect!. After extraction its methods return Effect<(), EffectLoggerError, R> and are themselves awaited with bind*.

Implementations§

Source§

impl EffectLogger

Source

pub fn with_minimum_log_level<B, E, R>( fiber_ref: FiberRef<LogLevel>, level: LogLevel, inner: Effect<B, E, R>, ) -> Effect<B, E, R>
where B: 'static, E: 'static, R: 'static,

Run inner with this fiber’s minimum log level overridden to level (effectful::FiberRef::locally).

Source

pub fn log<R: 'static>( &self, level: LogLevel, msg: impl Into<Cow<'static, str>>, ) -> Effect<(), EffectLoggerError, R>

Emit a log line at level. Returns an effect that, when run, forwards to tracing. The environment R is ignored — the logger is self-contained after extraction.

When layer_minimum_log_level has been built on this thread, messages below the current fiber’s minimum LogLevel (from that FiberRef) are dropped without calling tracing.

msg may be a &'static str, String, or other Into<Cow<'static, str>>.

Source

pub fn log_string<R: 'static>( &self, level: LogLevel, msg: String, ) -> Effect<(), EffectLoggerError, R>

Same as Self::log; kept for call sites that already hold a String.

Source

pub fn trace<R: 'static>( &self, msg: impl Into<Cow<'static, str>>, ) -> Effect<(), EffectLoggerError, R>

Shorthand for Self::log at LogLevel::Trace.

Source

pub fn debug<R: 'static>( &self, msg: impl Into<Cow<'static, str>>, ) -> Effect<(), EffectLoggerError, R>

Shorthand for Self::log at LogLevel::Debug.

Source

pub fn info<R: 'static>( &self, msg: impl Into<Cow<'static, str>>, ) -> Effect<(), EffectLoggerError, R>

Shorthand for Self::log at LogLevel::Info.

Source

pub fn warn<R: 'static>( &self, msg: impl Into<Cow<'static, str>>, ) -> Effect<(), EffectLoggerError, R>

Shorthand for Self::log at LogLevel::Warn.

Source

pub fn error<R: 'static>( &self, msg: impl Into<Cow<'static, str>>, ) -> Effect<(), EffectLoggerError, R>

Shorthand for Self::log at LogLevel::Error.

Source

pub fn fatal<R: 'static>( &self, msg: impl Into<Cow<'static, str>>, ) -> Effect<(), EffectLoggerError, R>

Shorthand for Self::log at LogLevel::Fatal.

Trait Implementations§

Source§

impl Clone for EffectLogger

Source§

fn clone(&self) -> EffectLogger

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 EffectLogger

Source§

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

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

impl Default for EffectLogger

Source§

fn default() -> EffectLogger

Returns the “default value” for a type. Read more
Source§

impl<'a, R> IntoBind<'a, R, EffectLogger, EffectLoggerError> for EffectLogger
where R: Get<EffectLogKey, Here, Target = EffectLogger> + 'a,

Implementing IntoBind for EffectLogger makes bind* EffectLogger valid inside any effect! whose environment R holds an EffectLogger under EffectLogKey. The zero-sized struct acts as its own “request token”: passing it to bind* copies the concrete value out of R and binds it as a local variable.

Source§

fn into_bind( self, r: &'a mut R, ) -> BoxFuture<'a, Result<EffectLogger, EffectLoggerError>>

Turns self into a boxed future given the environment r.
Source§

impl Copy for EffectLogger

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

Source§

fn pipe<F, R>(self, f: F) -> R
where F: FnOnce(Self) -> R,

Applies f to self (F#-style forward pipe).
Source§

impl<T> Same for T

Source§

type Output = T

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