Class: ThinkingData::TDLoggerConsumer
- Inherits:
-
Object
- Object
- ThinkingData::TDLoggerConsumer
- Defined in:
- lib/thinkingdata-ruby/td_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') ⇒ TDLoggerConsumer
constructor
Init logger consumer @param log_path: log file’s path @param mode: file rotate mode @param prefix: file prefix.
Constructor Details
#initialize(log_path = '.', mode = 'daily', prefix: 'te.log') ⇒ TDLoggerConsumer
Init logger consumer
@param log_path: log file's path
@param mode: file rotate mode
@param prefix: file prefix
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/thinkingdata-ruby/td_logger_consumer.rb', line 30 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}" TDLog.info("TDLoggerConsumer init success. LogPath: #{log_path}") _reset end |
Instance Method Details
#add(msg) ⇒ Object
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/thinkingdata-ruby/td_logger_consumer.rb', line 49 def add(msg) unless Time.now.strftime(@suffix_mode) == @current_suffix @logger.close @current_suffix = Time.now.strftime(@suffix_mode) _reset end msg_json_str = msg.to_json TDLog.info("Write data to file: #{msg_json_str}") @logger.info(msg_json_str) end |
#close ⇒ Object
60 61 62 63 |
# File 'lib/thinkingdata-ruby/td_logger_consumer.rb', line 60 def close @logger.close TDLog.info("TDLoggerConsumer close.") end |