class RbSys::Util::Logger
def add(level, message, emoji: true)
def add(level, message, emoji: true) emote, _ = LEVEL_STYLES.fetch(level.to_sym) io.puts "::#{level}::#{emote} #{message}" end
def add(level, message, emoji: true)
def add(level, message, emoji: true) emoji_opt, shellcode = LEVEL_STYLES.fetch(level.to_sym) emoji_opt = if emoji.is_a?(String) emoji + " " elsif emoji emoji_opt + " " end # Escape the message for bash shell codes (e.g. \033[1;31m) escaped = message.gsub("\\", "\\\\\\").gsub("\033", "\\033") io.puts "#{shellcode}#{emoji_opt}#{escaped}\033[0m" end
def error(message, **opts)
def error(message, **opts) add(:error, message, **opts) end
def fatal(message, **opts)
def fatal(message, **opts) error(message, **opts) abort end
def info(message, **opts)
def info(message, **opts) add(:info, message, **opts) end
def initialize(io: $stderr, level: :info)
def initialize(io: $stderr, level: :info) @io = ENV["GITHUB_ACTIONS"] ? $stdout : io @level = level end
def notice(message, **opts)
def notice(message, **opts) add(:notice, message, **opts) end
def trace(message, **opts)
def trace(message, **opts) return unless level == :trace add(:trace, message, **opts) end
def warn(message, **opts)
def warn(message, **opts) add(:warn, message, **opts) end