Class: AdWords::AdWordsLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/adwords4r/adwordslogger.rb

Overview

Wrapper class to handle logging to console and/or files.

Instance Method Summary collapse

Constructor Details

#initialize(filename, log_to_console = false) ⇒ AdWordsLogger

Constructor for AdWordsLogger.

Args:

  • filename: the filename for the log file to be written (if log_to_file is called)

  • log_to_console: boolean, indicates whether or not to log to the console



36
37
38
39
40
41
42
43
44
# File 'lib/adwords4r/adwordslogger.rb', line 36

def initialize(filename, log_to_console=false)
  @filename = filename
  @loggers = []
  if log_to_console
    stderr_logger = Logger.new(STDERR)
    stderr_logger.level = Logger::INFO
    @loggers << stderr_logger
  end
end

Instance Method Details

#<<(text) ⇒ Object

Overload << operator to perform logging.



62
63
64
65
66
# File 'lib/adwords4r/adwordslogger.rb', line 62

def << (text)
  @loggers.each do |logger|
    logger.info text.to_s
  end
end

#log_to_file(path = '.') ⇒ Object

Enables logging to a file. May be called several times to log to multiple files.

Args:

  • path: where to write the file (defaults to current dir). Path only, do not provide filename.



53
54
55
56
57
58
59
# File 'lib/adwords4r/adwordslogger.rb', line 53

def log_to_file(path='.')
  new_logger = Logger.new(File.join(path, @filename))
  new_logger.level = Logger::INFO
  @loggers << new_logger

  return nil
end