Module: ChefAPI::Logger

Included in:
Connection
Defined in:
lib/chef-api/logger.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods Classes: DefaultLogger, NullLogger

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
10
# File 'lib/chef-api/logger.rb', line 7

def included(base)
  base.send(:extend,  ClassMethods)
  base.send(:include, InstanceMethods)
end

.levelSymbol

The global log level.

Returns:

  • (Symbol)


31
32
33
# File 'lib/chef-api/logger.rb', line 31

def level
  @level ||= :warn
end

.level=(level) ⇒ Symbol

Set the global log level.

Parameters:

  • level (String, Symbol)

    the log level

Returns:

  • (Symbol)


43
44
45
46
47
48
49
50
51
# File 'lib/chef-api/logger.rb', line 43

def level=(level)
  @level = level.to_s.downcase.to_sym

  loggers.each do |_, logger|
    logger.level = @level
  end

  @level
end

.logger_for(name) ⇒ DefaultLogger

Get the logger class for the given name. If a logger does not exist for the given name, a new one is created.

Parameters:

  • name (String)

    the name of the logger to find

Returns:



22
23
24
# File 'lib/chef-api/logger.rb', line 22

def logger_for(name)
  loggers[name] ||= DefaultLogger.new(name, level)
end