From ff52379a53463bc500afee93450394140aede847 Mon Sep 17 00:00:00 2001 From: Tristan Ancelet Date: Thu, 23 Apr 2026 12:04:03 -0500 Subject: [PATCH] Added logfile support --- src/logger.cr | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/logger.cr b/src/logger.cr index 8fe44ee..f84278a 100644 --- a/src/logger.cr +++ b/src/logger.cr @@ -35,6 +35,7 @@ module Logger @@min_level : LOG_LEVEL = LOG_LEVELS["INFO"] @@max_level : LOG_LEVEL = LOG_LEVELS["FATAL"] + @@log_file : String? = nil @@debug : Bool = false LOG_MUTEX = ::Mutex.new @@ -83,6 +84,9 @@ module Logger @@min_level.to_s.downcase end + def self.log_file=(@@log_file : String) + end + def self.valid?(level : LOG_LEVEL) : Bool level.in?(@@min_level.value..@@max_level.value) end @@ -100,7 +104,13 @@ module Logger if valid?(_level) || debug? synchronize { time = Time.local - STDERR.puts [time, level.to_s.colorize(_level.color), message].join(" : ") + 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(" : ") + end raise "ERROR : Fatal error detected (#{message})" if level == "FATAL" } end