class Godot::LogChannel

Overview

=========================================================================== User-Defined Log Channel with Status & Custom Filtering

A LogChannel represents a dedicated diagnostic category (e.g. "Public", "Network", "Gameplay", "Combat").

Channels allow users to:

  1. Define custom status (e.g. "active", "public_safe", "muted", "quarantined").
  2. Attach channel-level filters (e.g. error-only filter + custom public filter).
  3. Restrict minimum log level per channel.
  4. Attach dedicated channel sinks (e.g. log/public.log). ===========================================================================

Defined in:

libgodot/logging/channel.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(name : String, status : String = "active", min_level : LogLevel = LogLevel::Trace) #

Instance Method Detail

def add_filter(&block : LogFilterProc) : Void #

def add_filter(filter : LogFilterProc) : Void #

def add_filter(named_filter : String) : Void #

Attach a globally registered named filter (e.g. "public", "safe", "no_spoilers")


def add_sink(sink : LogSink) : Void #

def clear_filters : Void #

def debug(message : String, tags : Array(String) = [] of String, status : String = "") : Void #

def dispatch_sinks(record : LogRecord) : Void #

Dispatches directly to this channel's dedicated sinks (if any)


def enabled=(enabled : Bool) #

def enabled? : Bool #

def error(message : String, tags : Array(String) = [] of String, status : String = "") : Void #

def filters : Array(LogFilterProc) #

def info(message : String, tags : Array(String) = [] of String, status : String = "") : Void #

def log(level : LogLevel, message : String, file : String = "", line : Int32 = 0, func : String = "", tags : Array(String) = [] of String, status : String = "") : Void #

Ergonomic channel-level logging methods


def min_level : LogLevel #

def min_level=(min_level : LogLevel) #

def mute! : Void #

def name : String #

def passes_filters?(record : LogRecord) : Bool #

Evaluates whether a log record passes this channel's level, status, and custom filters


def remove_sink(sink : LogSink) : Void #

def sinks : Array(LogSink) #

def status : String #

def status=(status : String) #

def status?(expected : String) : Bool #

def trace(message : String, tags : Array(String) = [] of String, status : String = "") : Void #

def unmute! : Void #

def warn(message : String, tags : Array(String) = [] of String, status : String = "") : Void #