class 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
Source
# File lib/log4r/outputter/iooutputter.rb, line 18 def initialize(_name, _out, hash={}) super(_name, hash) @out = _out end
IOOutputter
needs an IO object to write to.
Calls superclass method
Public Instance Methods
Source
# File lib/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
Close the IO and sets level to OFF
Private Instance Methods
Source
# File lib/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
perform the write