Under heavy development. This site describes the intended 1.0 language. Current features and performance vary. Development status
Sn50SnThe SnAPI programming language
Development · Evolving reference

LogSink

Defines one concrete safe mutable diagnostic-record sink. A sink retains neither message view nor record input after Write returns. Implementations document allocation, blocking, synchronization and failures. No runtime dictionary or global logger is created by concept satisfaction.

Sn is under heavy development. This reference includes the intended 1.0 design; features may be incomplete in the current compiler. Read the status →

Module std.logging

import std.logging;

Public declaration contracts and authored examples. A page can document several related symbols. Implementation bodies are excluded.

LogSink

pub concept LogSink<Self>

Defines one concrete safe mutable diagnostic-record sink. A sink retains neither message view nor record input after Write returns. Implementations document allocation, blocking, synchronization and failures. No runtime dictionary or global logger is created by concept satisfaction. Self: Concrete sink representation, owned by its caller or Logger.

LogSink.Write

requires fn Write(Level: LogLevel, Message: str) -> Result<void, IoError>;

Submits one enabled diagnostic record. Level: Severity; ordinary callers never submit Off. Message: UTF-8 view borrowed only through return. Return: Complete submission or typed failure, including any partial prefix.

LogSink.Flush

requires fn Flush() -> Result<void, IoError>;

Propagates previously accepted records through downstream layers. Return: Complete propagation or typed failure; no durability promise.

Documentation snapshot: October 24, 2026 About versions ↗
Searching Development · language & standard library