logger

Generated by tinox doc

Leveled logging (debug/info/warn/error) with a per-logger name and minimum level filter. Plain-text by default; set TINOX_LOG_JSON=true to switch every Logger instance to structured JSON output instead, no code change needed.

ModuleVersionGroup
env1.0.0tinox.core
json1.0.0tinox.core
time1.0.0tinox.core

Leveled logging

import tinox.core.logger;

class Main
{
    fnc main() -> Int32
    {
        let log: Logger = Logger::new("Main");
        Logger::setLevel(log, LogLevel::Warn);

        Logger::debug(log, "this is filtered out");
        Logger::info(log, "this is filtered out too");
        Logger::warn(log, "disk usage above 80%");
        Logger::error(log, "connection refused");
        return 0;
    }
}

class LogLevel

Methods

fn Debug() → Int64
fn Info() → Int64
fn Warn() → Int64
fn Error() → Int64

@JsonSerializableclass LogRecord

Fields

timestampString
levelString
loggerString
messageString

class Logger

Fields

nameString
levelInt64
jsonFormatBool

Methods

fn new(name: String) → Logger
fn debug(logger: Logger, message: String) → Nothing
fn info(logger: Logger, message: String) → Nothing
fn warn(logger: Logger, message: String) → Nothing
fn error(logger: Logger, message: String) → Nothing
fn setLevel(logger: Logger, level: Int64) → Nothing
fn log(logger: Logger, level: String, message: String) → Nothing