class Alephant::Logger::JSON

Constants

VERSION

Attributes

session[RW]

Public Class Methods

new(log_path, options = {}) click to toggle source
# File lib/alephant/logger/json.rb, line 8
def initialize(log_path, options = {})
  @log_file          = File.open(log_path, 'a+')
  @log_file.sync     = true
  @nesting           = options.fetch(:nesting, false)
  @write_level       = options.fetch(:level, :debug)
  self.class.session = -> { 'n/a' } unless self.class.session?
end
session?() click to toggle source
# File lib/alephant/logger/json.rb, line 35
def session?
  defined?(@session)
end

Private Instance Methods

flatten_values_to_s(hash) click to toggle source
# File lib/alephant/logger/json.rb, line 50
def flatten_values_to_s(hash)
  Hash[hash.map { |k, v| [k, v.to_s] }]
end
write(hash) click to toggle source
# File lib/alephant/logger/json.rb, line 42
def write(hash)
  @log_file.write(::JSON.generate(hash) + "\n")
end
writeable?(message_level) click to toggle source
# File lib/alephant/logger/json.rb, line 46
def writeable?(message_level)
  LevelsController.should_log?(message_level, @write_level)
end