# File lib/active_support/benchmarkable.rb, line 32
    def benchmark(message = "Benchmarking", options = {})
      if logger
        if options.is_a?(Symbol)
          ActiveSupport::Deprecation.warn("use benchmark('#{message}', :level => :#{options}) instead", caller)
          options = { :level => options, :silence => false }
        else
          options.assert_valid_keys(:level, :silence)
          options[:level] ||= :info
        end

        result = nil
        ms = Benchmark.ms { result = options[:silence] ? logger.silence { yield } : yield }
        logger.send(options[:level], '%s (%.1fms)' % [ message, ms ])
        result
      else
        yield
      end
    end