class Logging::Logger

Public Class Methods

define_log_methods( logger ) click to toggle source
# File lib/chef/knife/chop/logging.rb, line 22
          def define_log_methods( logger )
            ::Logging::LEVELS.each do |name,num|
              code =  "undef :#{name}  if method_defined? :#{name}\n"
              code << "undef :#{name}? if method_defined? :#{name}?\n"

              if logger.level > num
                code << <<-CODE
                  def #{name}?( ) false end
                  def #{name}( data = nil, trace = false ) false end
                CODE
              else
                code << <<-CODE
                  def #{name}?( ) true end
                  def #{name}( data = nil, trace = nil )
                    caller = Kernel.caller[3]
                    num = #{num}
                    unless caller.match(%r(/chef/knife/chop)) # We assume anything else comes via Chef::Log ...
                      num -= 1
                    end
                    if num >= #{logger.level}
                      data = yield if block_given?
                      #log_event(::Logging::LogEvent.new(@name, num, caller, true))
                      log_event(::Logging::LogEvent.new(@name, num, data, trace.nil? ? @trace : trace))
                    end
                    true
                  end
                CODE
              end

              logger._meta_eval(code, __FILE__, __LINE__)
            end
            logger
          end

Public Instance Methods

caller_tracing() click to toggle source
# File lib/chef/knife/chop/logging.rb, line 58
def caller_tracing
  @trace
end
logEvent(evt) click to toggle source
# File lib/chef/knife/chop/logging.rb, line 63
def logEvent(evt)
  log_event evt
end