Sha256: b7c7f97950eba55eaec8fefc6245e7bb87b892be1ec637f900e2482281e37db6

Contents?: true

Size: 1.05 KB

Versions: 30

Compression:

Stored size: 1.05 KB

Contents

module Fog
  class Logger

    @channels = {
      :deprecation  => ::STDOUT,
      :warning      => ::STDOUT
    }
    
    @channels[:debug] = ::STDOUT if ENV['DEBUG']

    def self.[](channel)
      @channels[channel]
    end

    def self.[]=(channel, value)
      @channels[channel] = value
    end

    def self.debug(message)
      self.write(:debug, "[light_black][DEBUG] #{message}[/]\n")
    end

    def self.deprecation(message)
      self.write(:deprecation, "[yellow][DEPRECATION] #{message}[/]\n")
    end

    def self.warning(message)
      self.write(:warning, "[yellow][WARNING] #{message}[/]\n")
    end

    def self.write(key, value)
      if channel = @channels[key]
        value.gsub(Formatador::INDENT_REGEX, '')
        message = if channel.tty?
          value.gsub(Formatador::PARSE_REGEX) { "\e[#{Formatador::STYLES[$1.to_sym]}m" }.gsub(Formatador::INDENT_REGEX, '')
        else
          value.gsub(Formatador::PARSE_REGEX, '').gsub(Formatador::INDENT_REGEX, '')
        end
        channel.write(message)
      end
      nil
    end

  end
end

Version data entries

30 entries across 30 versions & 7 rubygems

Version Path
cifrado-0.2.1 vendor/fog/lib/fog/core/logger.rb
cifrado-0.2.0 vendor/fog/lib/fog/core/logger.rb
gapinc-fog-1.12.1.2.1 lib/fog/core/logger.rb
fog-1.16.0 lib/fog/core/logger.rb
fog-maestrodev-1.15.0.20130927082724 lib/fog/core/logger.rb
fog-maestrodev-1.15.0.20130829165835 lib/fog/core/logger.rb
fog-1.15.0 lib/fog/core/logger.rb
gapinc-fog-1.14.0 lib/fog/core/logger.rb
fog-maestrodev-1.14.0.20130806165225 lib/fog/core/logger.rb
fog-1.14.0 lib/fog/core/logger.rb
fog-1.13.0 lib/fog/core/logger.rb
gapinc-fog-1.12.1.2 lib/fog/core/logger.rb
gapinc-fog-1.12.1.1 lib/fog/core/logger.rb
gapinc-fog-1.12.1a lib/fog/core/logger.rb
gapinc-fog-1.12.1 lib/fog/core/logger.rb
fog-1.12.1 lib/fog/core/logger.rb
fog-1.12.0 lib/fog/core/logger.rb
hpfog-0.0.20 lib/fog/core/logger.rb
vagrant-shell-0.2.6 vendor/bundle/gems/fog-1.10.1/lib/fog/core/logger.rb
vagrant-shell-0.2.5 vendor/bundle/gems/fog-1.10.1/lib/fog/core/logger.rb