Class: Stretchy::Utils::Logger
- Inherits:
-
Object
- Object
- Stretchy::Utils::Logger
- Includes:
- Validation
- Defined in:
- lib/stretchy/utils/logger.rb
Constant Summary collapse
- LEVELS =
[:silence, :debug, :info, :warn, :error, :fatal]
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(base = nil, level = nil, color = nil) ⇒ Logger
constructor
A new instance of Logger.
- #log(msg_or_obj, _level = nil, _color = nil) ⇒ Object
Methods included from Validation
#errors, included, #json_attributes, #require_one!, #require_only_one!, #valid?, #validate!, #validator
Constructor Details
#initialize(base = nil, level = nil, color = nil) ⇒ Logger
Returns a new instance of Logger.
26 27 28 29 30 31 32 33 34 |
# File 'lib/stretchy/utils/logger.rb', line 26 def initialize(base = nil, level = nil, color = nil) @base = base || ::Logger.new(STDOUT) @level = level || :silence @color = color || :blue @color = @color.to_s if @color.is_a?(Symbol) validate! end |
Class Method Details
.log(msg_or_obj) ⇒ Object
22 23 24 |
# File 'lib/stretchy/utils/logger.rb', line 22 def self.log(msg_or_obj) self.new.log(msg_or_obj) end |
Instance Method Details
#log(msg_or_obj, _level = nil, _color = nil) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/stretchy/utils/logger.rb', line 36 def log(msg_or_obj, _level = nil, _color = nil) _level ||= level _color ||= color return if _level == :silence output = nil case msg_or_obj when String output = Colorize.send(_color, msg_or_obj) when Hash, Array output = Colorize.send(_color, JSON.pretty_generate(msg_or_obj)) when Stretchy::Boosts::Base, Stretchy::Filters::Base, Stretchy::Queries::Base output = Colorize.send(_color, JSON.pretty_generate(msg_or_obj.to_search)) else output = Colorize.send(_color, msg_or_obj.inspect) end base.send(_level, output) end |