class Yell::Adapters::Io
Constants
- TTYColors
The possible unix log colors
Attributes
colors[RW]
Sets colored output on or off (default off)
@example Enable colors
colors = true
@example Disable colors
colors = false
sync[RW]
Sets the “sync mode” to true or false.
When true (default), every log event is immediately written to the file. When false, the log event is buffered internally.
Public Instance Methods
colorize!()
click to toggle source
Shortcut to enable colors.
@example
colorize!
# File lib/yell/adapters/io.rb, line 36 def colorize!; @colors = true; end
Private Instance Methods
close!()
click to toggle source
@overload close!
Calls superclass method
Yell::Adapters::Base#close!
# File lib/yell/adapters/io.rb, line 75 def close! @stream.close if @stream.respond_to?(:close) @stream = nil super end
inspectables()
click to toggle source
@overload inspectables
Calls superclass method
Yell::Adapters::Base#inspectables
# File lib/yell/adapters/io.rb, line 91 def inspectables super.concat [:formatter, :colors, :sync] end
open!()
click to toggle source
@overload open!
Calls superclass method
Yell::Adapters::Base#open!
# File lib/yell/adapters/io.rb, line 67 def open! @stream.sync = self.sync if @stream.respond_to?(:sync) @stream.flush if @stream.respond_to?(:flush) super end
setup!( options )
click to toggle source
@overload setup!( options )
Calls superclass method
Yell::Adapters::Base#setup!
# File lib/yell/adapters/io.rb, line 42 def setup!( options ) @stream = nil self.colors = Yell.__fetch__(options, :colors, default: false) self.formatter = Yell.__fetch__(options, :format, :formatter) self.sync = Yell.__fetch__(options, :sync, default: true) super end
stream()
click to toggle source
The IO stream
Adapter classes should provide their own implementation of this method.
# File lib/yell/adapters/io.rb, line 86 def stream synchronize { open! if @stream.nil?; @stream } end
write!( event )
click to toggle source
@overload write!( event )
Calls superclass method
Yell::Adapters::Base#write!
# File lib/yell/adapters/io.rb, line 53 def write!( event ) message = formatter.call(event) # colorize if applicable if colors and color = TTYColors[event.level] message = color + message + TTYColors[-1] end stream.syswrite(message) super end