From b36ca571a1ea257038dfdc85d6890e6bdceafabf Mon Sep 17 00:00:00 2001 From: kaedeek Date: Sat, 14 Feb 2026 23:08:24 +0900 Subject: [PATCH] feat(Update): add progress logging. --- lib/versalog.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/versalog.rb b/lib/versalog.rb index dfac462..9e32dca 100644 --- a/lib/versalog.rb +++ b/lib/versalog.rb @@ -280,5 +280,29 @@ def debug(msg, tag = nil) def critical(msg, tag = nil) _Log(msg, "CRITICAL", tag) end + + def step(title, step, total, tag = nil) + msg = "[STEP #{step}/#{total}] #{title}" + _Log(msg, "INFO", tag) + end + + def progress(title, current, total, tag = nil) + percent = total.to_i > 0 ? ((current.to_f / total.to_f) * 100).to_i : 0 + msg = "#{title} : #{percent}% (#{current}/#{total})" + _Log(msg, "INFO", tag) + end + + def timer(title, tag = nil) + start_time = Time.now + _Log("#{title} : start", "INFO", tag) + + begin + yield if block_given? + ensure + elapsed = Time.now - start_time + _Log("#{title} : done (#{format('%.2f', elapsed)}s)", "INFO", tag) + end + end + end end \ No newline at end of file