# File lib/active_support/cache.rb, line 151
      def fetch(key, options = {})
        @logger_off = true
        if !options[:force] && value = read(key, options)
          @logger_off = false
          log("hit", key, options)
          value
        elsif block_given?
          @logger_off = false
          log("miss", key, options)

          value = nil
          ms = Benchmark.ms { value = yield }

          @logger_off = true
          write(key, value, options)
          @logger_off = false

          log('write (will save %.2fms)' % ms, key, nil)

          value
        end
      end