Added logfile support

This commit is contained in:
Tristan Ancelet
2026-04-23 12:04:03 -05:00
parent ea549f832e
commit ff52379a53
+10
View File
@@ -35,6 +35,7 @@ module Logger
@@min_level : LOG_LEVEL = LOG_LEVELS["INFO"] @@min_level : LOG_LEVEL = LOG_LEVELS["INFO"]
@@max_level : LOG_LEVEL = LOG_LEVELS["FATAL"] @@max_level : LOG_LEVEL = LOG_LEVELS["FATAL"]
@@log_file : String? = nil
@@debug : Bool = false @@debug : Bool = false
LOG_MUTEX = ::Mutex.new LOG_MUTEX = ::Mutex.new
@@ -83,6 +84,9 @@ module Logger
@@min_level.to_s.downcase @@min_level.to_s.downcase
end end
def self.log_file=(@@log_file : String)
end
def self.valid?(level : LOG_LEVEL) : Bool def self.valid?(level : LOG_LEVEL) : Bool
level.in?(@@min_level.value..@@max_level.value) level.in?(@@min_level.value..@@max_level.value)
end end
@@ -100,7 +104,13 @@ module Logger
if valid?(_level) || debug? if valid?(_level) || debug?
synchronize { synchronize {
time = Time.local time = Time.local
if @@log_file
File.open(@@log_file, "a") do |file|
file.puts message
end
else
STDERR.puts [time, level.to_s.colorize(_level.color), message].join(" : ") STDERR.puts [time, level.to_s.colorize(_level.color), message].join(" : ")
end
raise "ERROR : Fatal error detected (#{message})" if level == "FATAL" raise "ERROR : Fatal error detected (#{message})" if level == "FATAL"
} }
end end