Index: trunk/FACT++/src/dataLogger.cc
===================================================================
--- trunk/FACT++/src/dataLogger.cc	(revision 11015)
+++ trunk/FACT++/src/dataLogger.cc	(revision 11016)
@@ -513,8 +513,13 @@
     if (isCmd)
         return;
+
     if (fServiceSubscriptions[server].erase(service) != 1)
     {
+        //check the given subscription against black and white lists
+        if (!ShouldSubscribe(server, service))
+            return;
+
         ostringstream str;
-        str << "Subscription " << server << "/" << service << "could not be removed as it is not present";
+        str << "Subscription " << server << "/" << service << " could not be removed as it is not present";
         Error(str.str());
         return;
@@ -612,5 +617,5 @@
         Debug(str);
     }
-    return new DimStampedInfo((server + "/" + service).c_str(), const_cast<char*>(""), this);
+    return new DimStampedInfo((server + "/" + service).c_str(), (void*)NULL, 0, this);
 }
 // --------------------------------------------------------------------------
@@ -1153,5 +1158,5 @@
         return;
     }
-    if (I->getSize() <= 0)
+    if (I->getSize() <= 0 || I->getData()==NULL)
         return;
 
@@ -1301,13 +1306,17 @@
 void DataLogger::ReportPlease(DimInfo* I, SubscriptionType& sub)
 {
-
-
-    //should we log or report this info ? (i.e. is it a message ?)
-    bool isItaReport = ((strstr(I->getName(), "Message") == NULL) && (strstr(I->getName(), "MESSAGE") == NULL));
-    if (I->getFormat()[0] == 'C')
-        isItaReport = false;
+    const string fmt(I->getFormat());
+
+    const bool isItaReport = fmt!="C";
 
     if (!fNightlyReportFile.is_open())
         return;
+
+    if (fDebugIsOn && string(I->getName())!="DATA_LOGGER/MESSAGE")
+    {
+        ostringstream str;
+        str << "Logging " <<  I->getName() << " [" << I->getFormat() << "] (" << I->getSize() << ")";
+        Debug(str);
+    }
 
     //Check whether we should close and reopen daily text files or not
@@ -1806,5 +1815,5 @@
 
         str.str("");
-        str << "Num subs: " << fNumSubAndFitsData.numSubscriptions << " Num open FITS: " << fNumSubAndFitsData.numOpenFits;
+        str << "Num subscriptions: " << fNumSubAndFitsData.numSubscriptions << " Num open FITS files: " << fNumSubAndFitsData.numOpenFits;
         Debug(str);
     }
