GoogleWriterRuntime

Struct GoogleWriterRuntime 

Source
pub struct GoogleWriterRuntime<M: LogMapper> { /* private fields */ }
Expand description

Runtime that manages a background task for batching and sending logs to Google Cloud.

GoogleWriterRuntime owns the background task, handles shutdown, and provides a GoogleWriterHandle for synchronous log writing. It is generic over a type implementing LogMapper, which is responsible for mapping structured log entries to the format expected by Google Cloud Logging.

Implementations§

Source§

impl<M: LogMapper + Send + Sync + 'static> GoogleWriterRuntime<M>

Source

pub fn new(google_logger: GoogleLogger<M>, config: GoogleWriterConfig) -> Self

Creates a new GoogleWriterRuntime and spawns the background batching task.

Logs are received via an unbounded channel, buffered, and flushed when:

  • the buffer reaches config.max_batch entries, or
  • config.max_delay elapses since the last flush.

The background task also flushes any remaining logs on shutdown.

Source

pub fn writer(&self) -> GoogleWriterHandle

Returns a handle that implements std::io::Write for sending log entries.

This handle can be cloned and shared across threads for synchronous logging.

Source

pub async fn flush_and_wait(&self)

Flushes all buffered logs and waits until the background task completes the flush.

Source

pub async fn shutdown(self)

Shuts down the background task, flushing any remaining logs.

This method waits for the task to complete and logs any panics encountered during shutdown.

Trait Implementations§

Source§

impl<M: Debug + LogMapper> Debug for GoogleWriterRuntime<M>

Source§

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

Formats the value using the given formatter. Read more

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> 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. 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
Source§

impl<T> ErasedDestructor for T
where T: 'static,