pub struct LogCapture { /* private fields */ }Expand description
A reusable log capturing struct for unit tests. Captures logs written during test execution for assertions.
§Examples
use sp_tracing::test_log_capture::LogCapture;
use std::io::Write;
let mut log_capture = LogCapture::new();
writeln!(log_capture, "Test log message").unwrap();
assert!(log_capture.contains("Test log message"));Implementations§
Source§impl LogCapture
impl LogCapture
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new LogCapture instance with an internal buffer.
§Examples
use sp_tracing::test_log_capture::LogCapture;
let log_capture = LogCapture::new();
assert!(log_capture.get_logs().is_empty());Sourcepub fn contains(&self, expected: &str) -> bool
pub fn contains(&self, expected: &str) -> bool
Checks if the captured logs contain a specific substring.
§Examples
use sp_tracing::test_log_capture::LogCapture;
use std::io::Write;
let mut log_capture = LogCapture::new();
writeln!(log_capture, "Hello, world!").unwrap();
assert!(log_capture.contains("Hello"));
assert!(!log_capture.contains("Goodbye"));Trait Implementations§
Source§impl<'a> MakeWriter<'a> for LogCapture
impl<'a> MakeWriter<'a> for LogCapture
Source§fn make_writer(&'a self) -> Self::Writer
fn make_writer(&'a self) -> Self::Writer
Provides a MakeWriter implementation for tracing_subscriber.
Source§type Writer = LogCapture
type Writer = LogCapture
The concrete
io::Write implementation returned by make_writer.Source§impl Write for LogCapture
impl Write for LogCapture
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl Freeze for LogCapture
impl RefUnwindSafe for LogCapture
impl Send for LogCapture
impl Sync for LogCapture
impl Unpin for LogCapture
impl UnwindSafe for LogCapture
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<'a, M> MakeWriterExt<'a> for Mwhere
M: MakeWriter<'a>,
impl<'a, M> MakeWriterExt<'a> for Mwhere
M: MakeWriter<'a>,
Source§fn with_max_level(self, level: Level) -> WithMaxLevel<Self>where
Self: Sized,
fn with_max_level(self, level: Level) -> WithMaxLevel<Self>where
Self: Sized,
Wraps
self and returns a MakeWriter that will only write output
for events at or below the provided verbosity Level. For instance,
Level::TRACE is considered to be _more verbosethanLevel::INFO`. Read moreSource§fn with_min_level(self, level: Level) -> WithMinLevel<Self>where
Self: Sized,
fn with_min_level(self, level: Level) -> WithMinLevel<Self>where
Self: Sized,
Wraps
self and returns a MakeWriter that will only write output
for events at or above the provided verbosity Level. Read moreSource§fn with_filter<F>(self, filter: F) -> WithFilter<Self, F>
fn with_filter<F>(self, filter: F) -> WithFilter<Self, F>
Wraps
self with a predicate that takes a span or event’s Metadata
and returns a bool. The returned MakeWriter’s
MakeWriter::make_writer_for method will check the predicate to
determine if a writer should be produced for a given span or event. Read moreSource§fn and<B>(self, other: B) -> Tee<Self, B>where
Self: Sized,
B: MakeWriter<'a>,
fn and<B>(self, other: B) -> Tee<Self, B>where
Self: Sized,
B: MakeWriter<'a>,
Combines
self with another type implementing MakeWriter, returning
a new MakeWriter that produces writers that write to both
outputs. Read moreSource§fn or_else<W, B>(self, other: B) -> OrElse<Self, B>
fn or_else<W, B>(self, other: B) -> OrElse<Self, B>
Combines
self with another type implementing MakeWriter, returning
a new MakeWriter that calls other’s make_writer if self’s
make_writer returns OptionalWriter::none. Read more