raven-haskell-0.1.3.0: src/System/Log/Raven/Transport/Debug.hs
-- | Dummy «transports» for debugging purposes.
module System.Log.Raven.Transport.Debug
( dumpRecord, briefRecord, catchRecord
) where
import Control.Concurrent.MVar (MVar, putMVar)
import System.Log.Raven.Types
-- | Dump all glory details.
dumpRecord :: SentrySettings -> SentryRecord -> IO ()
dumpRecord _ rec = print rec
-- | Log-like output with very few data shown.
briefRecord :: SentrySettings -> SentryRecord -> IO ()
briefRecord _ rec = putStrLn $ concat [ show $ srTimestamp rec, " "
, show $ srLevel rec, " "
, srLogger rec, ": "
, srMessage rec
]
-- | Catch event record into an *empty* 'MVar'.
-- Make sure you take it's contents before next message!
catchRecord :: MVar SentryRecord -> SentrySettings -> SentryRecord -> IO ()
catchRecord var _ rec = putMVar var rec