Skip to main content

Async

Struct Async 

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

A composable appender, logging and flushing asynchronously.

§Examples

use logforth_append_async::AsyncBuilder;
use logforth_core::append::Stderr;

let async_append = AsyncBuilder::new("logforth-async-append")
    .overflow_drop_incoming()
    // for demonstration purposes; in practice, this can be a file appender, etc.
    .append(Stderr::default())
    .build();

§Caveats

The caller or application should ensure that the flush method is called before the program exits to write out any buffered events, especially when this appender is used in a global context.

The drop glue will also flush the appender. But, in Rust, static items do not call drop at the end of the program.

Trait Implementations§

Source§

impl Append for Async

Source§

fn append( &self, record: &Record<'_>, diags: &[Box<dyn Diagnostic>], ) -> Result<(), Error>

Dispatch a log record to the append target.
Source§

fn flush(&self) -> Result<(), Error>

Flush any buffered records.
Source§

impl Debug for Async

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Async

§

impl !RefUnwindSafe for Async

§

impl Send for Async

§

impl Sync for Async

§

impl Unpin for Async

§

impl UnsafeUnpin for Async

§

impl !UnwindSafe for Async

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