Class: Arver::IOLogger

Inherits:
Object
  • Object
show all
Includes:
LogLevels
Defined in:
lib/arver/io_logger.rb

Constant Summary

Constants included from LogLevels

LogLevels::Debug, LogLevels::Error, LogLevels::Info, LogLevels::Trace, LogLevels::Warn

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(stream = $stdout, level = Info) ⇒ IOLogger

Returns a new instance of IOLogger.



9
10
11
12
# File 'lib/arver/io_logger.rb', line 9

def initialize( stream = $stdout, level = Info )
  @level = level
  @stream = stream
end

Instance Attribute Details

#levelObject

Returns the value of attribute level.



7
8
9
# File 'lib/arver/io_logger.rb', line 7

def level
  @level
end

#streamObject

Returns the value of attribute stream.



7
8
9
# File 'lib/arver/io_logger.rb', line 7

def stream
  @stream
end

Instance Method Details

#debug(string) ⇒ Object



17
18
19
# File 'lib/arver/io_logger.rb', line 17

def debug( string )
  write( string ) if level <= Debug
end

#error(string) ⇒ Object



26
27
28
# File 'lib/arver/io_logger.rb', line 26

def error( string )
  write( string ) if level <= Error
end

#info(string) ⇒ Object



20
21
22
# File 'lib/arver/io_logger.rb', line 20

def info( string)
  write( string ) if level <= Info
end

#trace(string) ⇒ Object



14
15
16
# File 'lib/arver/io_logger.rb', line 14

def trace( string )
  write( string ) if level <= Trace
end

#warn(string) ⇒ Object



23
24
25
# File 'lib/arver/io_logger.rb', line 23

def warn( string )
  write( string ) if level <= Warn
end

#write(string) ⇒ Object



29
30
31
32
# File 'lib/arver/io_logger.rb', line 29

def write( string )
  stream.write( string.to_s+"\n" )
  stream.flush
end