module HasActiveLogger::Mixin

Public Class Methods

format_message(message) click to toggle source
# File lib/has_active_logger/mixin.rb, line 23
def format_message(message)
  case message
    when String
      message
    when Hash, Array
      JSON::pretty_generate message
    else message.inspect
  end
end
logger() click to toggle source
# File lib/has_active_logger/mixin.rb, line 13
def logger
  @logger ||= Yell.new do |l|
    l.adapter :datefile, log_file,
      level: (:debug..:fatal),
      format: Yell.format( "%d [%L] #%M at %F:%n\n%m\n\n", "%H:%M:%S" ),
      symlink: true,
      keep: 4
  end
end

Private Class Methods

log_file() click to toggle source
# File lib/has_active_logger/mixin.rb, line 34
def log_file
  path = File.join(rails_log_path, "#{self.name.underscore}.log")
  FileUtils.mkdir_p File.dirname(path)
  path.to_s
end
rails_log_path() click to toggle source
# File lib/has_active_logger/mixin.rb, line 40
def rails_log_path
  File.join(Rails.root, 'log', Rails.env)
end

Public Instance Methods

format_message(message) click to toggle source
# File lib/has_active_logger/mixin.rb, line 49
def format_message(message)
  self.class.format_message(message)
end
logger() click to toggle source
# File lib/has_active_logger/mixin.rb, line 45
def logger
  self.class.logger
end