diff --git a/src/content-server.cc b/src/content-server.cc
index 2432885..91b6561 100644
--- a/src/content-server.cc
+++ b/src/content-server.cc
@@ -64,6 +64,11 @@
 void
 ContentServer::serve(const Name &interest)
 {
+  int size = interest.size();
+  cout << ">>> Serving: " << interest.getPartialName(0, size - 2) << ", seq = " << interest.getCompAsInt(size -1) << endl;
+
+
+
   ReadLock lock(m_mutex);
   for (PrefixIt it = m_prefixes.begin(); it != m_prefixes.end(); ++it)
   {
diff --git a/src/fetcher.cc b/src/fetcher.cc
index fe75596..e311461 100644
--- a/src/fetcher.cc
+++ b/src/fetcher.cc
@@ -94,7 +94,9 @@
       if (m_outOfOrderRecvSeqNo.find (m_minSendSeqNo+1) != m_outOfOrderRecvSeqNo.end ())
         continue;
 
-      _LOG_DEBUG (" >>> i (" << (m_minSendSeqNo+1) << ") " << Name (m_forwardingHint)(m_name)(m_minSendSeqNo+1));
+      Name x = Name(m_forwardingHint)(m_name)(m_minSendSeqNo+1);
+      int xsize = x.size();
+      _LOG_DEBUG (" >>> i " << x.getPartialName(0, xsize - 2) << ", seq = " << (m_minSendSeqNo + 1 ));
 
       // cout << ">>> " << m_minSendSeqNo+1 << endl;
       m_ccnx->sendInterest (Name (m_forwardingHint)(m_name)(m_minSendSeqNo+1),
diff --git a/src/object-db.cc b/src/object-db.cc
index 2243b99..991aab4 100644
--- a/src/object-db.cc
+++ b/src/object-db.cc
@@ -125,7 +125,7 @@
                       "(device_name, segment, content_object) "
                       "VALUES (?, ?, ?)", -1, &stmt, 0);
 
-  _LOG_DEBUG ("Saving content object for [" << deviceName << ", seqno: " << segment << ", size: " << data.size () << "]");
+  //_LOG_DEBUG ("Saving content object for [" << deviceName << ", seqno: " << segment << ", size: " << data.size () << "]");
 
   CcnxCharbufPtr buf = deviceName.toCcnxCharbuf ();
   sqlite3_bind_blob (stmt, 1, buf->buf (), buf->length (), SQLITE_TRANSIENT);
diff --git a/src/object-manager.cc b/src/object-manager.cc
index c89fd55..cf94a7b 100644
--- a/src/object-manager.cc
+++ b/src/object-manager.cc
@@ -75,7 +75,7 @@
 
       // cout << *fileHash << endl;
       // cout << name << endl;
-      _LOG_DEBUG ("Read " << iff.gcount () << " from " << file << " for segment " << segment);
+      //_LOG_DEBUG ("Read " << iff.gcount () << " from " << file << " for segment " << segment);
 
       Bytes data = m_ccnx->createContentObject (name, buf, iff.gcount ());
       fileDb.saveContentObject (deviceName, segment, data);
