diff --git a/hydra-node/src/Hydra/Logging.hs b/hydra-node/src/Hydra/Logging.hs index ab4faca843b..b289af1a4d3 100644 --- a/hydra-node/src/Hydra/Logging.hs +++ b/hydra-node/src/Hydra/Logging.hs @@ -49,6 +49,7 @@ import Data.Aeson (pairs, (.=)) import qualified Data.Aeson as Aeson import qualified Data.ByteString.Lazy as LBS import qualified Data.Text as Text +import Debug.Trace (traceIO) import Test.QuickCheck.Instances.Text () import Test.QuickCheck.Instances.Time () @@ -105,7 +106,7 @@ withTracerOutputTo :: withTracerOutputTo hdl namespace action = do msgQueue <- newTBQueueIO @_ @(Envelope msg) defaultQueueSize withAsync (writeLogs msgQueue `finally` flushLogs msgQueue) $ \_ -> - action (tracer msgQueue) `finally` flushLogs msgQueue + action (tracer msgQueue) where tracer queue = Tracer $ @@ -117,9 +118,11 @@ withTracerOutputTo hdl namespace action = do hFlush hdl flushLogs queue = liftIO $ do + traceIO "flushLogs start" entries <- atomically $ flushTBQueue queue forM_ entries (write . Aeson.encode) hFlush hdl + traceIO "flushLogs end" write bs = LBS.hPut hdl (bs <> "\n")