struct Logit::NamespaceBinding

Overview

Binds a namespace pattern to a log level for filtering.

Namespace bindings allow different log levels for different parts of your codebase. They are created via Backend#bind or Config#bind.

Pattern Syntax

Patterns use Crystal's :: namespace separator with wildcards:

Examples

Logit.configure do |config|
  console = config.console(level: Logit::LogLevel::Info)

  # Reduce noise from database classes
  config.bind("MyApp::Database::*", Logit::LogLevel::Warn, console)

  # But keep verbose logging for query builder
  config.bind("MyApp::Database::QueryBuilder", Logit::LogLevel::Debug, console)
end

Defined in:

logit/namespace_binding.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(pattern : String, level : LogLevel) #

Creates a new binding. Raises if the pattern is invalid.


[View source]

Instance Method Detail

def level : LogLevel #

The log level for namespaces matching this pattern.


[View source]
def level=(level : LogLevel) #

The log level for namespaces matching this pattern.


[View source]
def matches?(namespace : String) : Bool #

Checks if a namespace matches this pattern.


[View source]
def pattern : String #

The namespace pattern (e.g., "MyApp::Database::*").


[View source]
def pattern=(pattern : String) #

The namespace pattern (e.g., "MyApp::Database::*").


[View source]