# Default `Logger` formatter
#
# The default formatter decorates the messages with severity labels and colors.
class DefaultFormatter
super Formatter
# Do not decorate messages with colors
#
# ~~~
# var formatter = new DefaultFormatter(no_color = true)
# assert formatter.format(error_level, "My message.") == "Error: My message."
# ~~~
var no_color = false is optional, writable
redef fun format(level, message) do
var string = message.write_to_string
if level == fatal_level then
string = "Fatal: {string}"
else if level == error_level then
string = "Error: {string}"
else if level == warn_level then
string = "Warning: {string}"
else if level == info_level then
string = "Info: {string}"
else if level == debug_level then
string = "Debug: {string}"
end
if no_color then return string
if level == fatal_level then
return string.red
else if level == error_level then
return string.red
else if level == warn_level then
return string.yellow
else if level == info_level then
return string.purple
else if level == debug_level then
return string.blue
end
return string
end
end
lib/logger/logger.nit:322,1--367,3