class Obsctl::Runtime::Logger

Overview

Small file logger for server lifecycle and command-failure diagnostics.

Defined in:

obsctl/runtime/logger.cr

Constant Summary

SENSITIVE_KEY_PATTERN = "(?:password|authentication(?:[ _-]?string)?|auth(?:[ _-]?string)?|token|secret)"
SENSITIVE_VALUE_PATTERN = "(?:\"[^\"]*\"|'[^']*'|\\S+)"

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(level : LogLevel = LogLevel::Info, path : String = Config::ConfigPaths.log_path) #

Creates a logger writing to the configured runtime log path.


[View source]

Class Method Detail

def self.redact_secrets(message : String) : String #

Redacts secret-like values from public logs and state messages.


[View source]

Instance Method Detail

def debug(message : String) : Nil #

Writes a debug-level message when enabled.


[View source]
def error(message : String) : Nil #

Writes an error-level message when enabled.


[View source]
def info(message : String) : Nil #

Writes an info-level message when enabled.


[View source]
def warn(message : String) : Nil #

Writes a warn-level message when enabled.


[View source]
def write(level : LogLevel, message : String) : Nil #

Writes a message with a typed severity, redacting known sensitive fields.


[View source]
def write(level : String, message : String) : Nil #

Writes a message with a parsed string severity.


[View source]