summaryrefslogtreecommitdiffhomepage
path: root/Role/Watcher.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Role/Watcher.hs')
-rw-r--r--Role/Watcher.hs13
1 files changed, 7 insertions, 6 deletions
diff --git a/Role/Watcher.hs b/Role/Watcher.hs
index a4328f8..7b809f0 100644
--- a/Role/Watcher.hs
+++ b/Role/Watcher.hs
@@ -15,16 +15,17 @@ run :: WatchOpts -> IO ()
run = run' watcher . watchUrl
watcher :: TMVar (TVar DeveloperState) -> TMChan (Message Entered) -> TMChan AnyMessage -> SessionID -> IO ()
-watcher dsv _ichan ochan _ = inRawMode $ do
- (st, startoutput) <- processSessionStart ochan nullLogger dsv
+watcher dsv _ichan ochan sid = withSessionLogger sid $ \logger -> inRawMode $ do
+ (st, startoutput) <- processSessionStart ochan logger dsv
emitOutput startoutput
- go st
+ go logger st
where
- go st = do
+ go logger st = do
ts <- getPOSIXTime
v <- atomically $ getServerMessage ochan st ts
case v of
Nothing -> return ()
- Just (o, _msg) -> do
+ Just (o, msg) -> do
+ _ <- logger msg
emitOutput o
- go st
+ go logger st