Files
BitLogger/docs/api/runtime-sink-file-available.md
T
Nanaloveyuki 0e02f3d2cf 📝 Fix policy test and doc
2026-07-17 15:53:20 +08:00

2.6 KiB

name, group, category, update-time, description, key-word
name group category update-time description key-word
runtime-sink-file-available api runtime 20260707 Read whether a RuntimeSink currently has an available file sink behind its runtime sink shape.
runtime
sink
file
public

Runtime-sink-file-available

Read whether a RuntimeSink currently has an available file sink. This helper is useful for direct runtime diagnostics and recovery checks when code owns a runtime sink value instead of a ConfiguredLogger.

Interface

pub fn RuntimeSink::file_available(self : RuntimeSink) -> Bool {

input

  • self : RuntimeSink - Runtime sink whose file sink availability should be inspected.

output

  • Bool - Whether an underlying file sink is available.

Explanation

Detailed rules explaining key parameters and behaviors

  • Plain File runtime variants report actual file availability.
  • QueuedFile runtime variants expose the availability of their wrapped inner file sink.
  • Non-file runtime variants return false.
  • This means false currently merges two different situations: “not file-backed” and “file-backed but currently unavailable”.
  • Use file_path_or_none(), file_policy_or_none(), file_default_policy_or_none(), file_state_or_none(), or file_runtime_state() when callers need truthful file-semantics detection.
  • This helper does not mutate runtime sink state.

How to Use

Here are some specific examples provided.

When Need Direct Runtime File Health Checks

When operators or code should check file sink readiness on a runtime sink value:

if !sink.file_available() {
  println("file sink unavailable")
}

In this example, the runtime sink exposes file health directly.

When Gate Direct Recovery Logic

When reopen or fallback behavior depends on file availability:

let ok = sink.file_available()

In this example, callers can decide whether a recovery action is needed.

Error Case

e.g.:

  • If the runtime sink is not file-backed, the method returns false.

  • If callers need to distinguish “not file-backed” from “file-backed but unavailable”, use one of the truthful *_or_none() helpers or file_runtime_state().

  • If callers need detailed failure counters rather than a simple availability flag, file_state_or_none() or file_runtime_state() is the better API.

Notes

  1. Use this helper for lightweight file sink health checks on direct RuntimeSink values.

  2. Pair it with reopen and failure-counter APIs when diagnosing file sink problems, but prefer the truthful *_or_none() helpers when file semantics themselves must be checked.