diff --git a/user_bound_nlmessage.cc b/user_bound_nlmessage.cc
index 9d40f27..ab4d406 100644
--- a/user_bound_nlmessage.cc
+++ b/user_bound_nlmessage.cc
@@ -1851,11 +1851,6 @@
     return NULL;
   }
 
-//#if 0  // If we're collecting data for unit tests, uncommnet this.
-  UserBoundNlMessageDataCollector::GetInstance()->CollectDebugData(*message,
-                                                                   msg);
-//#endif // 0
-
   return message.release();
 }
 
@@ -1897,20 +1892,20 @@
     doit = node->second;
 
   if (doit) {
-    LOG(ERROR) << "@@const unsigned char "
+    LOG(INFO) << "@@const unsigned char "
                << "k" << message.GetMessageTypeString()
-               << "[] = { ";
+               << "[] = {";
 
     int payload_bytes = nlmsg_len(msg);
 
     size_t bytes = nlmsg_total_size(payload_bytes);
     unsigned char *rawdata = reinterpret_cast<unsigned char *>(msg);
     for (size_t i=0; i<bytes; ++i) {
-      LOG(ERROR) << "  0x"
+      LOG(INFO) << "  0x"
                  << std::hex << std::setfill('0') << std::setw(2)
                  << + rawdata[i] << ",";
     }
-    LOG(ERROR) << "};";
+    LOG(INFO) << "};";
     need_to_print[message.GetMessageType()] = false;
   }
 }
