module Neovim::Logging::Helpers

@api private

Private Instance Methods

log(level, method=nil) { || ... } click to toggle source
# File lib/neovim/logging.rb, line 62
def log(level, method=nil, &block)
  begin
    Logging.logger.public_send(level) do
      {
        _class: self.class,
        _method: method || block.binding.eval("__method__")
      }.merge!(yield)
    end
  rescue => ex
    Logging.logger.error("failed to log: #{ex.inspect}")
  end
rescue
  # Inability to log shouldn't abort process
end
log_exception(level, ex, method) click to toggle source
# File lib/neovim/logging.rb, line 77
def log_exception(level, ex, method)
  log(level, method) do
    {exception: ex.class, message: ex.message}
  end

  log(:debug, method) do
    {exception: ex.class, message: ex.message, backtrace: ex.backtrace}
  end
end