Struct spdlog::sink::WriteSink

source ·
pub struct WriteSink<W>where
W: Write + Send,
{ /* private fields */ }
Expand description

A sink that writes log messages into an arbitrary impl Write object.

Performance Notice

Since WriteSink can write into any impl Write objects, the assumptions made on the underlying impl Write object is very weak and this does impact performance. You should use other sinks or implement your own sinks whenever possible. WriteSink is your last resort if no other sinks meet your requirement.

If you want to log into a file, use FileSink or RotatingFileSink instead.

If you want to log into the standard streams, use StdStreamSink instead.

Implementations§

source§

impl<W> WriteSink<W>where
W: Write + Send,

source

pub fn builder() -> WriteSinkBuilder<W, ()>

Constructs a builder of WriteSink.

source

pub fn with_target<F, R>(&self, callback: F) -> Rwhere
F: FnOnce(&mut W) -> R,

Invoke a callback function with the underlying impl Write object.

This function returns whatever the given callback function returns.

Note that this sink cannot write into the underlying impl Write object while the given callback function is running. If the underlying impl Write object supports a relatively cheap clone operation, consider using the clone_target method.

source§

impl<W> WriteSink<W>where
W: Write + Send + Clone,

source

pub fn clone_target(&self) -> W

Clone the underlying impl Write object.

Trait Implementations§

source§

impl<W> Drop for WriteSink<W>where
W: Write + Send,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<W> Sink for WriteSink<W>where
W: Write + Send,

source§

fn log(&self, record: &Record<'_>) -> Result<()>

Logs a record. Read more
source§

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

Flushes any buffered records.
source§

fn level_filter(&self) -> LevelFilter

Gets the log level filter.
source§

fn set_level_filter(&self, level_filter: LevelFilter)

Sets the log level filter.
source§

fn set_formatter(&self, formatter: Box<dyn Formatter>)

Sets the formatter.
source§

fn set_error_handler(&self, handler: Option<ErrorHandler>)

Sets a error handler. Read more
source§

fn should_log(&self, level: Level) -> bool

Determines if a log message with the specified level would be logged.

Auto Trait Implementations§

§

impl<W> !RefUnwindSafe for WriteSink<W>

§

impl<W> Send for WriteSink<W>

§

impl<W> Sync for WriteSink<W>

§

impl<W> Unpin for WriteSink<W>where
W: Unpin,

§

impl<W> !UnwindSafe for WriteSink<W>

Blanket Implementations§

source§

impl<T> Any for Twhere
T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere
U: From<T>,

const: unstable · 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.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

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
source§

impl<T, U> TryFrom<U> for Twhere
U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.