Skip to content

Configured-logger-dropped-count ​

Read the cumulative dropped-record count from a ConfiguredLogger. This helper is the configured logger wrapper over RuntimeSink::dropped_count(...) when config-driven queue wrapping may discard records under pressure.

Interface ​

moonbit
pub fn ConfiguredLogger::dropped_count(self : ConfiguredLogger) -> Int {}

input ​

  • self : ConfiguredLogger - Config-driven runtime logger whose dropped-record metric should be inspected.

output ​

  • Int - Number returned by the wrapped RuntimeSink::dropped_count() call.

Explanation ​

Detailed rules explaining key parameters and behaviors

  • This helper delegates directly to self.sink.dropped_count().
  • Queue-backed runtime sink variants return their live dropped-count metric.
  • Plain console and plain file runtime sink variants return 0 because they do not track queued record drops.
  • The counter is cumulative for the lifetime of the concrete runtime sink value owned by the configured logger.

How to Use ​

Here are some specific examples provided.

When Need Loss Visibility On Config-built Queues ​

When a config-driven queue may discard records:

moonbit
if logger.dropped_count() > 0 {
  println("configured logger dropped records")
}

In this example, the runtime logger exposes queue loss without manual sink inspection.

When Compare Queue Tuning Changes ​

When queue overflow policy should be validated operationally:

moonbit
ignore(logger.dropped_count())

In this example, the helper exposes the metric needed to compare runtime queue tuning.

Error Case ​

e.g.:

  • If the configured logger is not queue-backed, the method simply returns 0.

  • If callers need queue shape and file status together, file_runtime_state() may carry more useful context for file sinks.

Notes ​

  1. This helper reports cumulative loss, not the reason for that loss.

  2. Pair it with pending_count() and queue configuration when investigating pressure.

Published from the repository docs folder with VitePress.