Sha256: ab300cf58e0d67da0e9f6e06cb948033ef834149499082b12fb50647ee40ff5e

Contents?: true

Size: 1.03 KB

Versions: 14

Compression:

Stored size: 1.03 KB

Contents

require 'lumberjack'

module Forklift
  module Base
    class Logger

      def initialize(forklift)
        @forklift = forklift
      end

      def forklift
        @forklift
      end

      def messages
        @messages ||= []
      end

      def logger
        log_dir = "#{forklift.config[:project_root]}/log"
        @logger ||= ::Lumberjack::Logger.new("#{log_dir}/forklift.log", buffer_size: 0)
      end

      def log(message, severity="info")
        timed_message = "[Forklift @ #{Time.now}] #{message}"
        puts timed_message unless forklift.config[:logger][:stdout] != true
        logger.send(severity.to_sym, message) unless logger.nil?
        messages << timed_message
      end

      def debug(message)
        if forklift.config[:logger][:debug] == true
          log("[debug] #{message}")
        end
      end

      def emphatically(message)
        log "" if message.length > 0
        log "*** #{message} ***"
        log ""
      end

      def fatal(message)
        log "!!! #{message} !!!"
      end

    end
    end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
forklift_etl-1.2.2 lib/forklift/base/logger.rb
forklift_etl-1.2.1 lib/forklift/base/logger.rb
forklift_etl-1.2.0 lib/forklift/base/logger.rb
forklift_etl-1.1.12 lib/forklift/base/logger.rb
forklift_etl-1.1.11 lib/forklift/base/logger.rb
forklift_etl-1.1.10 lib/forklift/base/logger.rb
forklift_etl-1.1.9 lib/forklift/base/logger.rb
forklift_etl-1.1.8 lib/forklift/base/logger.rb
forklift_etl-1.1.7 lib/forklift/base/logger.rb
forklift_etl-1.1.6 lib/forklift/base/logger.rb
forklift_etl-1.1.5 lib/forklift/base/logger.rb
forklift_etl-1.1.4 lib/forklift/base/logger.rb
forklift_etl-1.1.3 lib/forklift/base/logger.rb
forklift_etl-1.1.2 lib/forklift/base/logger.rb