Class: TDAnalytics::LoggerConsumer
- Inherits:
-
Object
- Object
- TDAnalytics::LoggerConsumer
- Defined in:
- lib/thinkingdata-ruby/logger_consumer.rb
Overview
write data to file, it works with LogBus
Instance Method Summary collapse
- #add(msg) ⇒ Object
- #close ⇒ Object
-
#initialize(log_path = '.', mode = 'daily', prefix: 'te.log') ⇒ LoggerConsumer
constructor
A new instance of LoggerConsumer.
Constructor Details
#initialize(log_path = '.', mode = 'daily', prefix: 'te.log') ⇒ LoggerConsumer
Returns a new instance of LoggerConsumer.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/thinkingdata-ruby/logger_consumer.rb', line 23 def initialize(log_path='.', mode='daily', prefix:'te.log') case mode when 'hourly' @suffix_mode = '%Y-%m-%d-%H' when 'daily' @suffix_mode = '%Y-%m-%d' else raise IllegalParameterError.new("#{mode} is unsupported for LoggerConsumer. Replaced it by daily or hourly") end raise IllegalParameterError.new("prefix couldn't be empty") if prefix.nil? || prefix.length == 0 @current_suffix = Time.now.strftime(@suffix_mode) @log_path = log_path @full_prefix = "#{log_path}/#{prefix}" _reset end |
Instance Method Details
#add(msg) ⇒ Object
41 42 43 44 45 46 47 48 |
# File 'lib/thinkingdata-ruby/logger_consumer.rb', line 41 def add(msg) unless Time.now.strftime(@suffix_mode) == @current_suffix @logger.close @current_suffix = Time.now.strftime(@suffix_mode) _reset end @logger.info(msg.to_json) end |
#close ⇒ Object
50 51 52 |
# File 'lib/thinkingdata-ruby/logger_consumer.rb', line 50 def close @logger.close end |