class Reviser::Loggers::Logger

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

@author Yann Prono

Public Class Methods

new(filename) click to toggle source

Creates logger. The extension determines the mode to use (logger mode). @param filename [String] name of logger.

# 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

Public Instance Methods

close() click to toggle source

Closes the logger

# File lib/reviser/loggers/logger.rb, line 66
def close
        @logger.close
end
method_missing(m, *args, &block) click to toggle source

In case of someone want to use methods of standard Logger

# File lib/reviser/loggers/logger.rb, line 71
def method_missing(m, *args, &block)
                  @logger.send m, *args, &block
end