Class: VagrantPlugins::Registration::Plugin

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-registration/plugin.rb

Class Method Summary (collapse)

Class Method Details

+ (Object) register(hook)



17
18
19
20
21
# File 'lib/vagrant-registration/plugin.rb', line 17

def register(hook)
  setup_logging
  hook.after(::Vagrant::Action::Builtin::SyncedFolders,
             VagrantPlugins::Registration::Action.action_register)
end

+ (Object) setup_logging

This sets up our log level to be whatever VAGRANT_LOG is for loggers prepended with 'vagrant_libvirt'



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/vagrant-registration/plugin.rb', line 48

def self.setup_logging
  require 'log4r'
  level = nil
  begin
    level = Log4r.const_get(ENV['VAGRANT_LOG'].upcase)
  rescue NameError
    # This means that the logging constant wasn't found,
    # which is fine. We just keep `level` as `nil`. But
    # we tell the user.
    level = nil
  end
  # Some constants, such as "true" resolve to booleans, so the
  # above error checking doesn't catch it. This will check to make
  # sure that the log level is an integer, as Log4r requires.
  level = nil if !level.is_a?(Integer)
  # Set the logging level on all "vagrant" namespaced
  # logs as long as we have a valid level.
  if level
    logger = Log4r::Logger.new('vagrant_registration')
    logger.outputters = Log4r::Outputter.stderr
    logger.level = level
    logger = nil
  end
end

+ (Object) unregister(hook)



23
24
25
26
# File 'lib/vagrant-registration/plugin.rb', line 23

def unregister(hook)
  setup_logging
  hook.prepend(VagrantPlugins::Registration::Action.action_unregister)
end