module ErrorLog
  class << self
    def info(info)
      logger.tagged(Time.zone.now) { logger.info info }
    end

    def error(e)
      logger.tagged(Time.zone.now) { logger.error e.message.to_s }
      e.backtrace.each { |message| logger.tagged(Time.zone.now) { logger.error message.to_s } }
    end

    private

    def logger
      @logger ||= ActiveSupport::TaggedLogging.new(::Logger.new("#{Rails.root}/log/error.log", 'weekly'))
    end
  end
end