Class: Eco::API::Common::Session::Logger::Cache
- Defined in:
- lib/eco/api/common/session/logger/cache.rb
Constant Summary collapse
- LEVELS =
%w[UNKNOWN FATAL ERROR WARN INFO DEBUG].freeze
- CHANNELS =
Eco::API::Common::Session::Logger::CHANNELS. map(&:to_s).map(&:upcase).freeze
Instance Method Summary collapse
- #add(level, datetime, message, formatted) ⇒ Object
- #cache ⇒ Object
-
#initialize ⇒ Cache
constructor
A new instance of Cache.
- #level(level) ⇒ Object
- #logs(level: nil, start_time: nil, end_time: nil) ⇒ Object
- #reset(level: nil, start_time: nil, end_time: nil) ⇒ Object
Constructor Details
#initialize ⇒ Cache
Returns a new instance of Cache.
7 8 9 |
# File 'lib/eco/api/common/session/logger/cache.rb', line 7 def initialize reset end |
Instance Method Details
#add(level, datetime, message, formatted) ⇒ Object
15 16 17 18 19 |
# File 'lib/eco/api/common/session/logger/cache.rb', line 15 def add(level, datetime, , formatted) Eco::API::Common::Session::Logger::Log.new(level, datetime, , formatted).tap do |log| self.level(level).push(log) end end |
#cache ⇒ Object
21 22 23 |
# File 'lib/eco/api/common/session/logger/cache.rb', line 21 def cache @cache ||= {} end |
#level(level) ⇒ Object
11 12 13 |
# File 'lib/eco/api/common/session/logger/cache.rb', line 11 def level(level) cache[to_level(level)] ||= [] end |
#logs(level: nil, start_time: nil, end_time: nil) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/eco/api/common/session/logger/cache.rb', line 34 def logs(level: nil, start_time: nil, end_time: nil) where(start_time, end_time) do |cond| to_levels(level).map do |lev| self.level(lev).select(&cond) end.flatten end.sort end |
#reset(level: nil, start_time: nil, end_time: nil) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/eco/api/common/session/logger/cache.rb', line 25 def reset(level: nil, start_time: nil, end_time: nil) where(start_time, end_time) do |cond| to_levels(level).map do |lev| self.level(lev).reject(&cond) end end self end |