DoxigAlpha

defaultLog

The default implementation for the log function. Custom log functions may forward log messages to this function.

Uses a 64-byte buffer for formatted printing which is flushed before this function returns.

Function parameters

Parameters

#
scope:@Type(.enum_literal)
format:[]const u8
args:anytype

Type definitions in this namespace

Types

#

Determine if a specific log message level and scope combination are enabled for logging.

Functions

#
logEnabled
Determine if a specific log message level and scope combination are enabled for logging.
defaultLogEnabled
Determine if a specific log message level using the default log scope is enabled for logging.
defaultLog
The default implementation for the log function.
scoped
Returns a scoped logging namespace that logs all messages using the scope

The default log level is based on build mode.

Values

#
default_level
The default log level is based on build mode.
err
Log an error message using the default scope.
warn
Log a warning message using the default scope.
info
Log an info message using the default scope.
debug
Log a debug message using the default scope.

Source

Implementation

#
pub fn defaultLog(
    comptime message_level: Level,
    comptime scope: @Type(.enum_literal),
    comptime format: []const u8,
    args: anytype,
) void {
    const level_txt = comptime message_level.asText();
    const prefix2 = if (scope == .default) ": " else "(" ++ @tagName(scope) ++ "): ";
    var buffer: [64]u8 = undefined;
    const stderr = std.debug.lockStderrWriter(&buffer);
    defer std.debug.unlockStderrWriter();
    nosuspend stderr.print(level_txt ++ prefix2 ++ format ++ "\n", args) catch return;
}