Add some logging.
[shibboleth/xmltooling.git] / xmltooling / util / ReloadableXMLFile.cpp
index 5391a94..27c6ae5 100644 (file)
@@ -188,14 +188,14 @@ pair<bool,DOMElement*> ReloadableXMLFile::load(bool backup)
     }\r
     catch (XMLException& e) {\r
         auto_ptr_char msg(e.getMessage());\r
-        m_log.critStream() << "Xerces error while loading resource (" << (backup ? m_backing : m_source) << "): "\r
+        m_log.errorStream() << "Xerces error while loading resource (" << (backup ? m_backing : m_source) << "): "\r
             << msg.get() << logging::eol;\r
         if (!backup && !m_backing.empty())\r
             return load(true);\r
         throw XMLParserException(msg.get());\r
     }\r
     catch (exception& e) {\r
-        m_log.critStream() << "error while loading configuration from ("\r
+        m_log.errorStream() << "error while loading configuration from ("\r
             << (m_source.empty() ? "inline" : (backup ? m_backing : m_source)) << "): " << e.what() << logging::eol;\r
         if (!backup && !m_backing.empty())\r
             return load(true);\r
@@ -225,10 +225,12 @@ Lockable* ReloadableXMLFile::lock()
             return this;\r
         \r
         // Elevate lock and recheck.\r
+        m_log.debug("timestamp of local resource changed, elevating to a write lock");\r
         m_lock->unlock();\r
         m_lock->wrlock();\r
         if (m_filestamp>=stat_buf.st_mtime) {\r
             // Somebody else handled it, just downgrade.\r
+            m_log.debug("update of local resource handled by another thread, downgrading lock");\r
             m_lock->unlock();\r
             m_lock->rdlock();\r
             return this;\r
@@ -247,10 +249,12 @@ Lockable* ReloadableXMLFile::lock()
             return this;\r
 \r
         // Elevate lock and recheck.\r
+        m_log.debug("reload interval for remote resource elapsed, elevating to a write lock");\r
         m_lock->unlock();\r
         m_lock->wrlock();\r
         if (now - m_filestamp < m_reloadInterval) {\r
             // Somebody else handled it, just downgrade.\r
+            m_log.debug("update of remote resource handled by another thread, downgrading lock");\r
             m_lock->unlock();\r
             m_lock->rdlock();\r
             return this;\r
@@ -272,6 +276,7 @@ Lockable* ReloadableXMLFile::lock()
     }\r
     \r
     // If we made it here, the swap may or may not have worked, but we need to relock.\r
+    m_log.debug("attempt to update resource complete, relocking");\r
     m_lock->rdlock();\r
     return this;\r
 }\r