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.
Constant Summary collapse
- @@default_mode =
'org'
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).
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/reviser/loggers/logger.rb', line 46 def initialize filename ext = File.extname filename @basename = File.basename filename, ext ext = ext.delete '.' dirname = File.dirname filename # Include mode aksed by user (config file) begin self.class.send :prepend, Modes.const_get("#{ext.downcase.capitalize}") @logger = ::Logger.new File.open(filename, 'w') rescue => e @logger = ::Logger.new File.open(File.join(dirname,(@basename + '.'+@@default_mode)), 'w') @logger.error("Mode #{ext} doesn\'t exist. Org mode by default.") self.class.send :include, Modes::Org end @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 ...
71 72 73 |
# File 'lib/reviser/loggers/logger.rb', line 71 def method_missing(m, *args, &block) @logger.send m, *args, &block end |
Instance Method Details
#close ⇒ Object
Closes the logger
66 67 68 |
# File 'lib/reviser/loggers/logger.rb', line 66 def close @logger.close end |