module Morley.Client.Logging
( ClientLogAction
, WithClientLog
, logDebug
, logInfo
, logWarning
, logError
, logException
, logFlush
) where
import Colog
(LogAction(..), Message, WithLog, logDebug, logError, logException, logInfo, logWarning)
import System.IO (hFlush)
type ClientLogAction m = LogAction m Message
type WithClientLog env m = WithLog env Message m
logFlush :: MonadIO m => Handle -> LogAction m a
logFlush :: Handle -> LogAction m a
logFlush Handle
handle = (a -> m ()) -> LogAction m a
forall (m :: * -> *) msg. (msg -> m ()) -> LogAction m msg
LogAction ((a -> m ()) -> LogAction m a) -> (a -> m ()) -> LogAction m a
forall a b. (a -> b) -> a -> b
$ m () -> a -> m ()
forall a b. a -> b -> a
const (m () -> a -> m ()) -> m () -> a -> m ()
forall a b. (a -> b) -> a -> b
$ IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Handle -> IO ()
hFlush Handle
handle
{-# INLINE logFlush #-}
{-# SPECIALIZE logFlush :: Handle -> LogAction IO () #-}