docmachine-cli/src/log.cr

39 lines
819 B
Crystal
Raw Normal View History

2023-04-27 07:42:15 +00:00
require "log"
require "colorize"
struct DebugFormat < Log::StaticFormatter
def run
string @entry.severity.label[0].downcase
string ": "
source
string ": "
message
end
end
struct BaseFormat < Log::StaticFormatter
def run
io = ::IO::Memory.new
color = case @entry.severity
when ::Log::Severity::Error
Colorize.colorize.red.bold
when ::Log::Severity::Warn
Colorize.colorize.red.yellow
when ::Log::Severity::Notice
Colorize.colorize.bold
else
Colorize.colorize
end
color.surround(io) do
io << @entry.message
end
string io.to_s
end
end
# Log.define_formatter BaseFormat, "#{severity.to_s.lstrip}(#{source}): #{message}"