Class: Reviser::Loggers::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/reviser/loggers/logger.rb

Overview

Custom logger of Reviser. This class is a adapter. We used the standard Logger included in Ruby.

Author:

  • Yann Prono

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ Logger

Creates logger. The extension determines the mode to use (logger mode).

Parameters:

  • filename (String)

    name of logger.



44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/reviser/loggers/logger.rb', line 44

def initialize filename
				ext = File.extname filename
				@basename = File.basename filename, ext
				ext = ext.delete '.'
				# Include mode aksed by user (config file)
				begin
self.class.send :prepend, Modes.const_get("#{ext.downcase.capitalize}")
				rescue => e
self.class.send :include, Modes::Txt
				end

				@logger = ::Logger.new File.open(filename, 'w')
				@logger.level = ::Logger::DEBUG
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args, &block) ⇒ Object

In case of someone want to use methods of standard Logger ...



65
66
67
# File 'lib/reviser/loggers/logger.rb', line 65

def method_missing(m, *args, &block)
@logger.send m, *args, &block
end

Instance Method Details

#closeObject

Closes the logger



60
61
62
# File 'lib/reviser/loggers/logger.rb', line 60

def close
	@logger.close
end