Module: Logging

Defined in:
lib/jungle_path/logging.rb

Class Method Summary collapse

Class Method Details

.make_logger(root_dir, log_file_name, log_dir_name: 'logs', log_level: Logger::INFO, rotation_count: 10, size_in_bytes: 10240000, reset: false) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/jungle_path/logging.rb', line 4

def self.make_logger(root_dir, log_file_name, log_dir_name: 'logs', log_level: Logger::INFO, rotation_count: 10, size_in_bytes: 10240000, reset: false)
  # pass in root_dir = ::File.dirname(__FILE__)
  #puts "root_dir.class: #{root_dir.class}: #{root_dir}."
  #puts "log_file_name.class: #{log_file_name.class}: #{log_file_name}."
  #puts "log_dir_name.class: #{log_dir_name.class}: #{log_dir_name}."
  logs_dir = ::File.join(root_dir, log_dir_name)

  ::Dir.mkdir(logs_dir) unless File.exists? logs_dir

  ::Logger.class_eval do
    alias_method :write, :<<
  end

  filename = ::File.join(logs_dir, log_file_name)
  File.delete(filename) if reset and File.exists?(filename)
  logger = Logger.new(filename, rotation_count, size_in_bytes)
  logger.level = log_level
  logger
end