                 log.debug("Both local and remote changes to mirror item \(guid). Resolving conflict.")
                 return try self.threeWayMerge(guid, localNode: loc, remoteNode: rem, mirrorNode: mirrorNode)
             }
-            log.debug("Local-only change to mirror item \(guid).")
+            log.verbose("Local-only change to mirror item \(guid).")
             return try takeLocalAndMergeChildren(loc, mirror: mirrorNode)
         }
 
         if let rem = remoteNode where !rem.isUnknown {
-            log.debug("Remote-only change to mirror item \(guid).")
+            log.verbose("Remote-only change to mirror item \(guid).")
             return try takeRemoteAndMergeChildren(rem, mirror: mirrorNode)
         }
 
-        log.debug("Record \(guid) didn't change from mirror.")
+        log.verbose("Record \(guid) didn't change from mirror.")
         return try takeMirrorNode(mirrorNode)
     }
 

        log.debug("Processing \(self.localAllGUIDs.count) local changes and \(self.remoteAllGUIDs.count) remote changes.")
        log.debug("\(self.local.subtrees.count) local subtrees and \(self.remote.subtrees.count) remote subtrees.")
        log.debug("Local is adding \(self.localAdditions.count) records, and remote is adding \(self.remoteAdditions.count).")

        if !conflictingGUIDs.isEmpty {
            log.warning("Expecting conflicts between local and remote: \(conflictingGUIDs.joinWithSeparator(", ")).")

                // No remote. Node only exists locally.
                // However! The children might be mentioned in the mirror or
                // remote tree.
                log.verbose("Node \(guid) only exists locally.")
                return try takeLocalAndMergeChildren(loc)
            }

