Method: SemanticLogger::Formatters::Color#initialize
- Defined in:
- lib/semantic_logger/formatters/color.rb
#initialize(ap: {multiline: false}, color_map: ColorMap.new, **args) ⇒ Color
Adds color to the default log formatter
Example:
# Use a colorized output logger.
SemanticLogger.add_appender(io: $stdout, formatter: :color)
Example:
# Use a colorized output logger changing the color for info to yellow.
SemanticLogger.add_appender(io: $stdout, formatter: {color: {color_map: {info: SemanticLogger::AnsiColors::YELLOW}}})
Example:
# Override the Awesome Print options to output hashes over multiple lines:
SemanticLogger.add_appender(io: $stdout, formatter: {color: {ap: {multiline: true}}})
# Calling the appender added above:
SemanticLogger['Test'].info('hi', {a: 1, b: 2})
=> true
=> 2019-02-12 11:47:50.794339 I [35832:70112015269920] Test -- hi -- {
:a => 1,
:b => 2
}
Parameters:
ap: [Hash]
Any valid Amazing Print option for rendering data.
These can also be changed be creating a `~/.aprc` file.
See: https://github.com/amazing-print/amazing_print
Note: The option :multiline is set to false if not supplied.
Note: Has no effect if Awesome Print is not installed.
color_map: [Hash | SemanticLogger::Formatters::Color::ColorMap]
ColorMaps each of the log levels to a color
77 78 79 80 81 |
# File 'lib/semantic_logger/formatters/color.rb', line 77 def initialize(ap: {multiline: false}, color_map: ColorMap.new, **args) = ap @color_map = color_map.is_a?(ColorMap) ? color_map : ColorMap.new(color_map) super(**args) end |