pub struct Logger { /* private fields */ }Expand description
Manages the state and execution loop for the logger thread.
Implementations§
Source§impl Logger
impl Logger
Sourcepub fn new(
receiver: Receiver<LogMessage>,
logger_running: Arc<AtomicBool>,
config: Arc<Config>,
otel_meter: Option<Meter>,
) -> Self
pub fn new( receiver: Receiver<LogMessage>, logger_running: Arc<AtomicBool>, config: Arc<Config>, otel_meter: Option<Meter>, ) -> Self
Creates a new Logger instance.
Sourcepub fn run(&mut self) -> StatsCollector
pub fn run(&mut self) -> StatsCollector
Manages the logger thread’s main loop.
It receives messages from the main thread, processes them (logging and stats),
and handles periodic stats dumping. It exits when the logger_running flag
is set to false and the channel is empty or disconnected.
Returns the final cumulative statistics upon exit.
Sourcepub fn process_message(
&mut self,
msg: LogMessage,
near_miss_counter: &Option<Counter<u64>>,
)
pub fn process_message( &mut self, msg: LogMessage, near_miss_counter: &Option<Counter<u64>>, )
Processes a single message received from the main thread. Updates statistics and performs logging if enabled.
Auto Trait Implementations§
impl Freeze for Logger
impl !RefUnwindSafe for Logger
impl Send for Logger
impl Sync for Logger
impl Unpin for Logger
impl UnsafeUnpin for Logger
impl !UnwindSafe for Logger
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request