                     (cons 'id (match-string-no-properties 1)))
               logs)))
     logs))
-;; __LOG__(1)
-
 
 (defun logoverlay--overlay-logs (logs)
   (mapcar 'logoverlay--make-log-overlay logs)
-  (setq logoverlay--showing-overlays t))
+  (setq logoverlay--showing-overlays t)
+
+  (logoverlay--start-timer))
+
+(defun logoverlay--start-timer ()
+  (if (not logoverlay--monitor-timer)
+      (setq logoverlay--monitor-timer 
+            (logoverlay--install-monitor "/tmp/log.json" 5 'logoverlay--log-changed))))
 
 (defun logoverlay--remove-log-overlays ()
   (mapcar 'delete-overlay logoverlay--logged-overlays)

    (logoverlay-update-overlays)
    ))


(provide 'logoverlay)

(defun logoverlay--make-log-overlay (bounds)
  (let ((entries (logoverlay--get-log-entries-by-file-and-id (buffer-file-name)
                                                             (cdr (assoc 'id bounds)))))
    (mapcar (lambda (log)
              (let ((value (json-encode (cdr (assoc 'value log))))
                    (overlay (make-overlay (cdr (assoc 'start bounds))
