class ClearLogic::Logger::Adapter

Attributes

log_path[R]
logger_class[R]
service_class[R]

Public Class Methods

new(service_class) click to toggle source
# File lib/clear_logic/logger/adapter.rb, line 8
def initialize(service_class)
  @service_class = service_class
  @logger_class = service_class.logger_class
  @log_path = service_class.logger_options[:log_path] || default_log_path
end

Public Instance Methods

logger() click to toggle source
# File lib/clear_logic/logger/adapter.rb, line 14
def logger
  @logger ||= create_logger
end

Private Instance Methods

create_logger() click to toggle source
# File lib/clear_logic/logger/adapter.rb, line 20
def create_logger
  system('mkdir', '-p', path) unless Dir.exist?(path)

  logger_class.new(log_path)
end
default_log_path() click to toggle source
# File lib/clear_logic/logger/adapter.rb, line 30
def default_log_path
  file_name = Dry::Inflector.new.underscore(service_class.name.gsub('::', '/'))
  File.join(ENV['BUNDLE_GEMFILE'], "log/#{file_name}.log").gsub!('Gemfile/', '')
end
path() click to toggle source
# File lib/clear_logic/logger/adapter.rb, line 26
def path
  File.dirname(log_path)
end