                                  ::specs/stream stream})]
      (let [state-holder (dfrd/deferred)
            req (strm/try-put! stream [::query-state state-holder] timeout)]
+       ;; FIXME: Switch to using dfrd/chain instead
        (dfrd/on-realized req
                          (fn [success]
-                           (log/debug
-                            (utils/pre-log message-loop-name)
-                            "Submitted get-state query:" success))
+                           (log2/flush-logs! logger
+                                             (log2/debug local-logs
+                                                         ::succeeded
+                                                         "get-state query submitted"
+                                                         {::result success
+                                                          ::specs/message-loop-name message-loop-name})))
                          (fn [failure]
-                           (log/error failure
-                                      (utils/pre-log message-loop-name)
-                                      "Submitting state query")
+                           (log2/flush-logs! logger
+                                             (if (instance? Throwable failure)
+                                               (log2/exception local-logs
+                                                               failure
+                                                               ::exceptional-failure
+                                                               "Submitting get-state query failed"
+                                                               {::specs/message-loop-name message-loop-name})
+                                               (log2/error local-logs
+                                                           ::non-exceptional-failure
+                                                           "Submitting get-state failed mysteriously"
+                                                           {::result failure
+                                                            ::specs/message-loop-name message-loop-name})))
                            (deliver state-holder failure)))
        (let [{log-state ::log2/state
               :as result} (deref state-holder timeout failure-signal)]
+         ;; Need to sync log-state with local-logs
          (throw (RuntimeException. "Start back here"))
          result))))
   ([stream-holder]


  ;; The child-monitor loop should handle this
  ;; detail
  (comment (child-> io-handle ::specs/normal))
  (.close from-child))

                       #(log2/warn %
                                   ::action-trigger
                                   "Updater returned"
                                   (dissoc state' ::log2/state)))
        _ (assert (::specs/outgoing state') (str "After updating for " tag))
        my-logs (::log2/state state')
        forked-logs (log2/fork my-logs)
