{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module Network.Monitoring.Riemann.LoggingClient where
import Control.Monad.IO.Class (MonadIO, liftIO)
import Network.Monitoring.Riemann.Client (Client, close, sendEvent)
data LoggingClient =
LoggingClient
loggingClient :: LoggingClient
loggingClient :: LoggingClient
loggingClient = LoggingClient
LoggingClient
instance MonadIO m => Client m LoggingClient where
sendEvent :: LoggingClient -> Event -> m ()
sendEvent LoggingClient
_ = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> (Event -> IO ()) -> Event -> m ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Event -> IO ()
forall a. Show a => a -> IO ()
print
close :: LoggingClient -> m ()
close LoggingClient
_ = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ [Char] -> IO ()
forall a. Show a => a -> IO ()
print [Char]
"close"