Added logfile support

This commit is contained in:
Tristan Ancelet
2026-04-23 12:04:03 -05:00
parent ea549f832e
commit 5182b7c235
+9
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 = ""
@@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
@@ -101,6 +105,11 @@ module Logger
synchronize { synchronize {
time = Time.local time = Time.local
STDERR.puts [time, level.to_s.colorize(_level.color), message].join(" : ") STDERR.puts [time, level.to_s.colorize(_level.color), message].join(" : ")
unless @@log_file.empty?
File.open(@@log_file, "a") do |file|
file.puts message
end
end
raise "ERROR : Fatal error detected (#{message})" if level == "FATAL" raise "ERROR : Fatal error detected (#{message})" if level == "FATAL"
} }
end end