def trace(progname = nil, &block)
      if logger.respond_to?(:trace) then
        logger.trace(progname, &block)
      else
        logger.debug(progname, &block)
      end
    end
def trace(progname = nil, &block)
      if logger.respond_to?(:trace) then
        logger.trace(progname, &block)
      else
        logger.debug(progname, &block)
      end
    end
Provides a safe wrapper for our monkeypatched logger

 If the provided logger responds to a trace method, use that method. Otherwise fallback to
 using the debug method.