Class: Reviser::Loggers::Logger
- Inherits:
-
Object
- Object
- Reviser::Loggers::Logger
- 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.
Instance Method Summary collapse
-
#close ⇒ Object
Closes the logger.
-
#initialize(filename) ⇒ Logger
constructor
Creates logger.
-
#method_missing(m, *args, &block) ⇒ Object
In case of someone want to use methods of standard Logger ...
Constructor Details
#initialize(filename) ⇒ Logger
Creates logger. The extension determines the mode to use (logger mode).
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
#close ⇒ Object
Closes the logger
60 61 62 |
# File 'lib/reviser/loggers/logger.rb', line 60 def close @logger.close end |