-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Multicast, thread-safe, and fast logger. -- -- Please see the README on GitHub at -- https://github.com/kirisaki/caster#readme @package caster @version 0.0.2.0 module System.Log.Caster -- | Log message. data LogMsg LogMsg :: LogLevel -> UnixTime -> Builder -> LogMsg [logMsgLevel] :: LogMsg -> LogLevel [logMsgTime] :: LogMsg -> UnixTime [logMsgBuilder] :: LogMsg -> Builder -- | Connect LogQueue and TChan LogMsg. broadcastLog :: LogQueue -> LogChan -> IO () -- | Queue of LogMsg. newtype LogQueue LogQueue :: TQueue LogMsg -> LogQueue -- | Make new LogQueue newLogQueue :: IO LogQueue -- | Channel of LogMsg. newtype LogChan LogChan :: TChan LogMsg -> LogChan -- | Make new LogChan. newLogChan :: IO LogChan -- | Formatter. type Formatter = LogMsg -> Builder -- | IO function takes LogMsg. type Listener = LogMsg -> IO () -- | Listen LogChan and give the LogMsg to given -- Listener. relayLog :: LogChan -> LogLevel -> Listener -> IO () -- | Stdout listener. stdoutListener :: Listener -- | Stdout listener with Formatter. stdoutListenerWith :: Formatter -> Listener -- | Terminal listener. Log levels are colored. terminalListener :: Listener -- | Make Listener from Handle handleListener :: Formatter -> Handle -> Listener -- | Make Listener flushing buffer after getting LogMsg handleListenerFlush :: Formatter -> Handle -> Listener -- | Default log formatter. defaultFormatter :: Formatter -- | Formatter for term. It provides colored logs. terminalFormatter :: Formatter -- | Log levels. These are matched to syslog. data LogLevel LogDebug :: LogLevel LogInfo :: LogLevel LogNotice :: LogLevel LogWarn :: LogLevel LogError :: LogLevel LogCritical :: LogLevel LogAlert :: LogLevel LogEmergency :: LogLevel -- | Push a message to LogQueue. logAs :: (MonadIO m, ToBuilder s) => LogQueue -> LogLevel -> s -> m () debug :: (MonadIO m, ToBuilder s) => LogQueue -> s -> m () info :: (MonadIO m, ToBuilder s) => LogQueue -> s -> m () notice :: (MonadIO m, ToBuilder s) => LogQueue -> s -> m () warn :: (MonadIO m, ToBuilder s) => LogQueue -> s -> m () err :: (MonadIO m, ToBuilder s) => LogQueue -> s -> m () critical :: (MonadIO m, ToBuilder s) => LogQueue -> s -> m () alert :: (MonadIO m, ToBuilder s) => LogQueue -> s -> m () emergency :: (MonadIO m, ToBuilder s) => LogQueue -> s -> m () -- | Types which are able to be converted into Builder -- Builder toBuilde encodes String and -- Text as utf-8. class ToBuilder a toBuilder :: ToBuilder a => a -> Builder -- | If you turn OverloadedStrings extension on, GHC can't deduce -- the type of string literal. This function fix the type to -- Builder Builder without type annotation. fix :: Builder -> Builder -- | Infix version of fix. ($:) :: ToBuilder b => (Builder -> b) -> Builder -> b infixr 0 $: -- | Concat ToBuilder strings as Builder Builder. (<:>) :: (ToBuilder a, ToBuilder b) => a -> b -> Builder infixr 6 <:> instance GHC.Classes.Ord System.Log.Caster.LogLevel instance GHC.Classes.Eq System.Log.Caster.LogLevel instance GHC.Show.Show System.Log.Caster.LogLevel instance System.Log.Caster.ToBuilder Data.ByteString.FastBuilder.Internal.Builder instance System.Log.Caster.ToBuilder GHC.Base.String instance System.Log.Caster.ToBuilder Data.Text.Internal.Text instance System.Log.Caster.ToBuilder Data.Text.Internal.Lazy.Text instance System.Log.Caster.ToBuilder Data.ByteString.Internal.ByteString instance System.Log.Caster.ToBuilder Data.ByteString.Lazy.Internal.ByteString instance System.Log.Caster.ToBuilder Data.ByteString.Builder.Internal.Builder instance GHC.Show.Show a => System.Log.Caster.ToBuilder a