+import logging
 import threading
 import time
 from watchdog.events import DirDeletedEvent, FileDeletedEvent, FileSystemEventHandler
         self._cool_time = cool_time
         self._max_time = max_time
         self._lock = threading.Lock()
-        self._observer = Observer()
-        self._observer.schedule(self, path=dir_path, recursive=True)
+
+        try:
+            self._observer = Observer()
+            self._observer.schedule(self, path=dir_path, recursive=True)
+        except Exception as e:
+            logging.error("Error creating file observer for %s: %s", dir_path, str(e))
+            raise e
 
     def start(self):
         self._observer.start()