Sha256: fad8031849e345d19c533b106a94903f230e7c8eb2e3ce8ef5ae7dcff4fe8ec7

Contents?: true

Size: 885 Bytes

Versions: 3

Compression:

Stored size: 885 Bytes

Contents

# :nodoc:
module Log4r

  class Outputter < Monitor
    # Retrieve an outputter.
    def self.[](name)
    out = @@outputters[name]
      if out.nil?
        return case name
        when 'color'  then ColorOutputter.new 'color'
        when 'stdout' then StdoutOutputter.new 'stdout'
        when 'stderr' then StderrOutputter.new 'stderr'
        else nil end
      end          
      out
    end
    def self.color;  Outputter['color'] end
    def self.stdout; Outputter['stdout'] end
    def self.stderr; Outputter['stderr'] end
    # Set an outputter.
    def self.[]=(name, outputter)
      @@outputters[name] = outputter
    end
    # Yields each outputter's name and reference.
    def self.each
      @@outputters.each {|name, outputter| yield name, outputter}
    end
    def self.each_outputter
      @@outputters.each_value {|outputter| yield outputter}
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
log4r-color-1.2.2 lib/log4r-color/outputter/staticoutputter.rb
log4r-color-1.2 lib/log4r-color/outputter/staticoutputter.rb
log4r-color-1.1.11 lib/log4r/outputter/staticoutputter.rb