Class: ShellHelpers::ColorFormatter
- Inherits:
-
Logger::Formatter
- Object
- Logger::Formatter
- ShellHelpers::ColorFormatter
- Defined in:
- lib/shell_helpers/logger.rb
Overview
{{{1
Constant Summary collapse
- CLI_COLORS =
{ mark: [:bold], success: [:green, :bold], important: [:blue, :bold], warn: [:yellow, :bold], error: [:red, :bold], fatal: [:red, :bold] }
- BLANK_FORMAT =
"%{msg}\n"
- DEFAULT_FORMAT =
"%s, [%s#%d] %5s -- %s: %s\n"
"%{severity_short}, [%{date}#%<pid>d] %<severity>s9 -- %{progname}: %{msg}\n"
Instance Attribute Summary collapse
-
#cli_colors ⇒ Object
Returns the value of attribute cli_colors.
- #format ⇒ Object
Class Method Summary collapse
Instance Method Summary collapse
- #call(severity, time, progname, msg, **kwds) ⇒ Object
- #format_msg(msg_infos, colors: []) ⇒ Object
- #format_severity(severity) ⇒ Object
Instance Attribute Details
#cli_colors ⇒ Object
Returns the value of attribute cli_colors.
41 42 43 |
# File 'lib/shell_helpers/logger.rb', line 41 def cli_colors @cli_colors end |
#format ⇒ Object
47 48 49 |
# File 'lib/shell_helpers/logger.rb', line 47 def format @format ||= DEFAULT_FORMAT end |
Class Method Details
.create(type = :default) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/shell_helpers/logger.rb', line 17 def self.create(type=:default) return type if type.respond_to?(:call) logger=self.new case type when :blank logger.format=BLANK_FORMAT when :color logger.cli_colors=CLI_COLORS logger.format=BLANK_FORMAT when :color_info logger.cli_colors=CLI_COLORS when :none logger.format="" end logger end |
Instance Method Details
#call(severity, time, progname, msg, **kwds) ⇒ Object
67 68 69 70 71 72 73 74 75 76 |
# File 'lib/shell_helpers/logger.rb', line 67 def call(severity, time, progname, msg, **kwds) colors=get_colors(severity, **kwds) severity_short, severity_name=format_severity(severity) format_msg( {severity_short: severity_short, date: format_datetime(time), pid: $$, severity: severity_name, progname: progname, msg: msg2str(msg)}, colors: colors) end |
#format_msg(msg_infos, colors: []) ⇒ Object
62 63 64 65 |
# File 'lib/shell_helpers/logger.rb', line 62 def format_msg(msg_infos, colors: []) msg_infos[:msg]=SimpleColor[msg_infos[:msg], *colors] format % msg_infos end |
#format_severity(severity) ⇒ Object
34 35 36 37 38 39 |
# File 'lib/shell_helpers/logger.rb', line 34 def format_severity(severity) # sev_name = Logger::SEV_LABEL[severity] || 'ANY' sev_name=severity.to_s.upcase sev_short=sev_name[0..0] [sev_name, sev_short] end |