Skip to content

Configured-logger-file-rotation-failures

Read the number of runtime file-rotation attempts whose critical file steps failed in a ConfiguredLogger.

Interface

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

input

  • self : ConfiguredLogger - Config-driven runtime logger whose rotation-failure counter should be inspected.

output

  • Int - Number of recorded rotation failures.

Explanation

Detailed rules explaining key parameters and behaviors

  • File-backed sinks report their recorded rotation-failure count through the wrapped RuntimeSink.
  • Queued file sinks forward the metric from the wrapped inner file sink.
  • Non-file sinks return 0.
  • For file-backed paths, the counter covers incomplete rotations caused by critical remove/rename/reopen failures, not every possible file-health issue.
  • The counter is cumulative until reset.

How to Use

Here are some specific examples provided.

When Need Rotation-specific Diagnostics

When support output should reveal whether rotation is failing:

moonbit
let count = logger.file_rotation_failures()

In this example, the configured logger exposes whether runtime file rotation stopped completing its critical steps.

When Validate Runtime Rotation Tuning

When changed rotation settings should be checked in operation:

moonbit
ignore(logger.file_rotation_failures())

In this example, callers can observe whether runtime rotation changes introduced incomplete rotations.

Error Case

e.g.:

  • If the configured sink is not file-backed, the method returns 0.

  • If callers need both rotation config and failure metrics, they should combine this helper with file_rotation_config() or file_state().

  • This counter does not identify the exact remove/rename/reopen step that failed.

Notes

  1. Use this helper when diagnosing incomplete file rotations.

  2. It is especially relevant when runtime rotation policy can change after startup.

Published from the repository docs folder with VitePress.