Class: Logging::Appenders::Console
- Inherits:
-
IO
- Object
- Logging::Appender
- IO
- Logging::Appenders::Console
- Defined in:
- lib/logging/appenders/console.rb
Overview
This class is provides an Appender base class for writing to the standard IO stream - STDOUT and STDERR. This class should not be instantiated directly. The ‘Stdout` and `Stderr` subclasses should be used.
Constant Summary
Constants included from Buffering
Buffering::DEFAULT_BUFFER_SIZE
Instance Attribute Summary
Attributes inherited from IO
Attributes included from Buffering
#async, #auto_flushing, #buffer, #flush_period, #write_size
Attributes inherited from Logging::Appender
#filters, #layout, #level, #name
Instance Method Summary collapse
-
#initialize(*args) ⇒ Console
constructor
call-seq: Stdout.new( name = ‘stdout’ ) Stderr.new( :layout => layout ) Stdout.new( name = ‘stdout’, :level => ‘info’ ).
Methods inherited from IO
Methods included from Buffering
#clear!, #close, #flush, #flush_period?, #immediate_at=, #reopen
Methods inherited from Logging::Appender
#<<, #_to_s, #add_filters, #allow, #append, #close, #closed?, #encoding, #encoding=, #flush, #off?, #reopen, #to_s
Constructor Details
#initialize(*args) ⇒ Console
call-seq:
Stdout.new( name = 'stdout' )
Stderr.new( :layout => layout )
Stdout.new( name = 'stdout', :level => 'info' )
Creates a new Stdout/Stderr Appender. The name ‘stdout’/‘stderr’ will be used unless another is given. Optionally, a layout can be given for the appender to use (otherwise a basic appender will be created) and a log level can be specified.
Options:
:layout => the layout to use when formatting log events
:level => the level at which to log
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/logging/appenders/console.rb', line 23 def initialize( *args ) name = self.class.name.split("::").last.downcase io = Object.const_get(name.upcase) opts = args.last.is_a?(Hash) ? args.pop : {} name = args.shift unless args.empty? opts[:encoding] = io.external_encoding if io.respond_to? :external_encoding super(name, io, opts) rescue NameError raise RuntimeError, "Please do not use the `Logging::Appenders::Console` class directly - " + "use `Logging::Appenders::Stdout` and `Logging::Appenders::Stderr` instead" end |