class Ecoportal::API::Logger

Constants

FILE_FORMAT_PROC
STDOUT_FORMAT_PROC
TIMESTAMP_PATTERN

Attributes

console[R]
file[R]

Public Class Methods

new( console_level: ::Logger::INFO, file_level: ::Logger::DEBUG, output_file: File.join(Dir.getwd, "API_Log- click to toggle source
# File lib/ecoportal/api/logger.rb, line 28
def initialize(
  console_level: ::Logger::INFO,
  file_level:   ::Logger::DEBUG,
  output_file:  File.join(Dir.getwd, "API_Log-#{Time.now.strftime("%Y-%m-%dT%H%M")}.txt")
)
  @console = make_stdout_logger(console_level)
  @file    = make_file_logger(file_level, output_file)
end

Private Instance Methods

make_file_logger(level, output_file) click to toggle source
# File lib/ecoportal/api/logger.rb, line 53
def make_file_logger(level, output_file)
  return unless output_file
  ::Logger.new(File.open(output_file, "a")).tap do |logger|
    logger.formatter = FILE_FORMAT_PROC
    logger.level     = level
  end
end
make_stdout_logger(level) click to toggle source
# File lib/ecoportal/api/logger.rb, line 46
def make_stdout_logger(level)
  ::Logger.new(STDOUT).tap do |logger|
    logger.formatter = STDOUT_FORMAT_PROC
    logger.level     = level
  end
end