Module: JSONdb::Logger

Included in:
Field, FileOps, Record, Settings, Table, Tables, Validations::Naming, Validations::Types
Defined in:
lib/jsondb/logger.rb

Instance Method Summary collapse

Instance Method Details

#allowed_log_level?(log_level) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/jsondb/logger.rb', line 22

def allowed_log_level?(log_level)
  JSONdb.constants.loglevels.keys.include?(log_level)
end

#log(msg, log_level = :debug, force_raise_error = false) ⇒ Object

LogLevels = {

debug: 1, 
info:  2, 
error: 3

}



11
12
13
14
15
16
17
18
19
20
# File 'lib/jsondb/logger.rb', line 11

def log(msg, log_level = :debug, force_raise_error = false)
  log("Log level not allowed: '#{log_level}", :error) if !allowed_log_level?(log_level)

  if log_enabled? and log_this?(log_level)
    @log_file ||= FileOps.new(JSONdb.settings.log_folder, JSONdb.settings.log_file, 'log', false)
    @log_file.write_line("#{Time.now} #{log_level.to_s.upcase} #{self.class.to_s} #{msg}")
    puts "#{Time.now} #{log_level.to_s.upcase} #{self.class.to_s}: #{msg} " if JSONdb.settings.verbose
  end
  raise "#{log_level.to_s.upcase} #{self.class.to_s} #{msg}" if (JSONdb.settings.raise_errors == true or force_raise_error == true) and log_level == :error 
end

#log_enabled?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/jsondb/logger.rb', line 30

def log_enabled?
  JSONdb.settings.log_enabled
end

#log_this?(log_level) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/jsondb/logger.rb', line 26

def log_this?(log_level)
  JSONdb.constants.loglevels[log_level] >= JSONdb.constants.loglevels[JSONdb.settings.log_level]
end