Removed max=, added sprintf support to logging methods/macros
This commit is contained in:
@@ -54,8 +54,8 @@ module Logger
|
||||
end
|
||||
|
||||
{% for level in LOG_LEVELS.keys %}
|
||||
macro {{level.downcase.id}}(message)
|
||||
::Logger.log {{level}}, Logger.generate_log_line + \{{message}}
|
||||
macro {{level.downcase.id}}(message, *args)
|
||||
::Logger.log({{level}}, Logger.generate_log_line + \{{message}}, \{{*args}})
|
||||
end
|
||||
{% end %}
|
||||
|
||||
@@ -71,18 +71,17 @@ 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 +94,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
|
||||
|
||||
Reference in New Issue
Block a user