Parent

Log4r::IOOutputter

IO Outputter invokes print then flush on the wrapped IO object. If the IO stream dies, IOOutputter sets itself to OFF and the system continues on its merry way.

To find out why an IO stream died, create a logger named ‘log4r’ and look at the output.

Public Class Methods

new(_name, _out, hash={}) click to toggle source

IOOutputter needs an IO object to write to.

# File log4r/outputter/iooutputter.rb, line 18
    def initialize(_name, _out, hash={})
      super(_name, hash)
      @out = _out
    end

Public Instance Methods

close() click to toggle source

Close the IO and sets level to OFF

# File log4r/outputter/iooutputter.rb, line 28
    def close
      @out.close unless @out.nil?
      @level = OFF
      OutputterFactory.create_methods(self)
      Logger.log_internal {"Outputter '#{@name}' closed IO and set to OFF"}
    end
closed?() click to toggle source

(Not documented)

# File log4r/outputter/iooutputter.rb, line 23
    def closed?
      @out.closed?
    end

Private Instance Methods

write(data) click to toggle source

perform the write

# File log4r/outputter/iooutputter.rb, line 40
    def write(data)
      begin
        @out.print data
        @out.flush
      rescue IOError => ioe # recover from this instead of crash
        Logger.log_internal {"IOError in Outputter '#{@name}'!"}
        Logger.log_internal {ioe}
        close
      rescue NameError => ne
        Logger.log_internal {"Outputter '#{@name}' IO is #{@out.class}!"}
        Logger.log_internal {ne}
        close
      end
    end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.