Removed max=, added sprintf support to logging methods/macros

This commit is contained in:
Tristan Ancelet
2026-04-23 10:44:16 -05:00
parent 172e7e7521
commit 6b51374bbc
+6 -7
View File
@@ -71,18 +71,16 @@ module Logger
end
end
{% for level in %w[ min max ] %}
def self.{{level.id}}=(selection : String) : Nil
def self.min=(selection : String) : Nil
Logger.debug "Entering with #{selection}"
raise "ERROR : {{level.id}}= : Invalid level" unless _level = LOG_LEVELS[selection.upcase]
synchronize {
@@{{level.id}}_level = _level
@@min_level = _level
}
end
def self.{{level.id}} : String
@@{{level.id}}_level.to_s.downcase
def self.min : String
@@min_level.to_s.downcase
end
{% end %}
def self.valid?(level : LOG_LEVEL) : Bool
level.in?(@@min_level.value..@@max_level.value)
@@ -95,8 +93,9 @@ module Logger
Logger.debug "Debug set to #{state}"
end
def self.log(level : String, message : String)
def self.log(level : String, message : String, *args)
_level = LOG_LEVELS[level]
message = message % args unless args.empty?
if valid?(_level) || debug?
synchronize {
time = Time.local