Sha256: 862ecd01cb3b308c46ac7f88d4a9c902b6b0b9206ae76faf99d4ed0bdba7618d

Contents?: true

Size: 1 KB

Versions: 11

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

module Zizia
  class LogStream
    ##
    # @!attribute [rw] logger
    #   @return [Logger]
    # @!attribute [rw] severity
    #   @return [Logger::Serverity]
    attr_accessor :logger, :severity

    def initialize(logger: nil, severity: nil)
      self.logger   = logger   || Logger.new(build_filename)
      self.severity = severity || Logger::INFO
    end

    def <<(msg)
      logger.add(severity, msg)
      STDOUT << msg
    end

    private

      def build_filename
        return ENV['IMPORT_LOG'] if ENV['IMPORT_LOG']
        return rails_log_name if rails_log_name
        './log/zizia_import.log'
      end

      def rails_log_name
        case Rails.env
        when 'production'
          Rails.root.join('log', "csv_import.log").to_s
        when 'development'
          Rails.root.join('log', "dev_csv_import.log").to_s
        when 'test'
          Rails.root.join('log', "test_csv_import.log").to_s
        end
      rescue ::NameError
        false
      end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
zizia-2.1.0.alpha.09 lib/zizia/log_stream.rb
zizia-2.1.0.alpha.08 lib/zizia/log_stream.rb
zizia-2.1.0.alpha.07 lib/zizia/log_stream.rb
zizia-2.1.0.alpha.06 lib/zizia/log_stream.rb
zizia-2.1.0.alpha.05 lib/zizia/log_stream.rb
zizia-2.1.0.alpha.04 lib/zizia/log_stream.rb
zizia-2.1.0.alpha.03 lib/zizia/log_stream.rb
zizia-2.1.0.alpha.02 lib/zizia/log_stream.rb
zizia-2.1.0.alpha.01 lib/zizia/log_stream.rb
zizia-2.0.0.alpha.01 lib/zizia/log_stream.rb
zizia-1.0.1 lib/zizia/log_stream.rb