Files
BitLogger/docs/api/default-logger.md
T
2026-05-12 16:10:24 +08:00

2.3 KiB

name, group, category, update-time, description, key-word
name group category update-time description key-word
default-logger api global 20260512 Create the shared console-backed logger value used by the global logging helpers.
global
logger
default
public

Default-logger

Create a Logger[ConsoleSink] from the current shared default global configuration. This is the logger value used internally by the global helper functions such as log(...), info(...), and error(...).

Interface

pub fn default_logger() -> Logger[ConsoleSink] {}

output

  • Logger[ConsoleSink] - Logger built from the shared console sink, current default minimum level, and current default target.

Explanation

Detailed rules explaining key parameters and behaviors

  • The returned logger is built from default_console_sink, default_min_level_ref, and default_target_ref.
  • Each call reflects the current shared configuration at that moment.
  • The logger writes to the standard console sink path.
  • This helper is useful when you want the same baseline behavior as the global shortcuts but still need the explicit Logger object for chaining or inspection.

How to Use

Here are some specific examples provided.

When Start From Global Defaults But Keep A Logger Value

When code wants the default console path with later composition:

let logger = default_logger().with_timestamp()
logger.info("service started")

In this example, the logger starts from global defaults and then gains extra instance-level behavior.

When Inspect Current Shared Behavior

When code should branch using the same threshold as global helpers:

let logger = default_logger()
if logger.is_enabled(Level::Debug) {
  logger.debug("debug path active")
}

In this example, the explicit logger mirrors the same level gate used by global shortcut calls.

Error Case

e.g.:

  • If the shared default target is empty, the returned logger is still valid and simply uses an empty target.

  • Changes made later through set_default_min_level(...) or set_default_target(...) do not mutate an already-stored logger value.

Notes

  1. This helper returns a normal Logger, so further chaining is available.

  2. It is the bridge between the simple global API and the explicit typed logger workflow.