class NI_LOGGER

Constants

SEVERITY_TYPES

LOG_KEYS = [:context, :action_id, :message]

Public Class Methods

logs_folder() click to toggle source
# File lib/ni-logger.rb, line 34
def self.logs_folder
  # TODO: set the path from config
  @logs_folder ||= "#{Rails.root}/log"
end
options() click to toggle source
# File lib/ni-logger.rb, line 30
def self.options
  return @options
end
setup(options) click to toggle source
# File lib/ni-logger.rb, line 26
def self.setup(options)
  @options = (@options || {}).merge(options)
end

Private Class Methods

log(params) click to toggle source
# File lib/ni-logger.rb, line 49
def self.log(params)
  params_with_defaults = options.merge(params.reject{|k,v| v.nil?})

  puts 'params_with_defaults:'
  puts params_with_defaults

  current_context = params_with_defaults[:context]
  current_severity = params_with_defaults[:severity]

  logger_instance = logger_of_context(current_context)

  logger_instance.send current_severity.to_sym, params_with_defaults.except(:context, :severity)
  Rails.logger.send current_severity.to_sym, params_with_defaults.except(:severity)
end
log_file_path(current_context) click to toggle source
# File lib/ni-logger.rb, line 42
def self.log_file_path(current_context)
  puts 'current_context:'
  puts current_context
  file_name = current_context.to_s.downcase.gsub(/ /, '_').gsub(/[^0-9a-z_]/, '')
  return "#{logs_folder}/#{file_name}.log"
end
logger_of_context(current_context) click to toggle source
# File lib/ni-logger.rb, line 64
def self.logger_of_context(current_context)
  @context_loggers[current_context] ||= Logger.new(log_file_path(current_context))
end

Public Instance Methods

nil,() click to toggle source

action_id: nil, server_name: nil, params: nil,

# File lib/ni-logger.rb, line 10