Skip to content

Global-info ​

Emit an info-level record through the shared default logger. This is the global convenience wrapper for log(Level::Info, ...).

Interface ​

moonbit
pub fn info(message : String, fields~ : Array[Field] = []) -> Unit {}

input ​

  • message : String - Informational message text.
  • fields : Array[Field] - Optional structured fields attached to the record.

output ​

  • Unit - No return value. The record is handled through the shared default logger.

Explanation ​

Detailed rules explaining key parameters and behaviors

  • This helper delegates to default_logger().info(...).
  • Each call therefore reads the current shared default threshold and target at write time instead of holding one long-lived logger value internally.
  • It uses the shared console sink and current default target.
  • Info is the default global threshold unless changed through set_default_min_level(...).
  • This is the simplest entry point for normal app-level informational events.

How to Use ​

Here are some specific examples provided.

When Emit Simple Global Application Events ​

When a small app wants direct lifecycle logging:

moonbit
set_default_target("app")
info("service started")

In this example, the shared default logger emits an informational record under the app target.

If set_default_target(...) or set_default_min_level(...) changes later, future info(...) calls will observe those updated shared defaults automatically.

When Attach Structured Informational Data ​

When a global info event should include metadata:

moonbit
info("request completed", fields=[field("status", "200")])

In this example, the global helper still supports structured fields.

Error Case ​

e.g.:

  • If the shared minimum level is above Info, the record is skipped.

  • If different components need different targets, shared global info logging may become too broad.

Notes ​

  1. This is the most common global write helper for small applications or scripts.

  2. Future calls pick up later shared-default changes because the helper forwards through a fresh default_logger() each time.

  3. Prefer explicit loggers when the codebase grows beyond one shared logging path.

Published from the repository docs folder with VitePress.