packages feed

log-effect 0.2.0.2 → 0.3.0.1

raw patch · 3 files changed

+23/−18 lines, 3 filesdep ~basedep ~extensible-effects

Dependency ranges changed: base, extensible-effects

Files

log-effect.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                log-effect-version:             0.2.0.2+version:             0.3.0.1 synopsis:            An extensible log effect using extensible-effects description:         Any help (especially documentation) is very welcome, homepage:            https://github.com/ibotty/log-effect@@ -21,10 +21,15 @@                      , Control.Eff.Log.Simple   -- other-modules:          -- other-extensions:    -  build-depends:       base >=4.6 && <4.7+  build-depends:       base >=4.6 && <4.8                      , bytestring >=0.10.2 && <0.11-                     , extensible-effects >=1.2 && <1.3+                     , extensible-effects ==1.4.* || ==1.7.*                      , fast-logger >=2.1 && <2.2                      , time >=1.4 && <1.5   hs-source-dirs:      src   default-language:    Haskell2010++source-repository head+  type: git+  location: https://github.com/ibotty/log-effect+
src/Control/Eff/Log.hs view
@@ -6,6 +6,7 @@ {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeOperators #-}+{-# LANGUAGE UndecidableInstances #-} module Control.Eff.Log   ( Log(Log, logLine)   , ShowLog(showLog)@@ -18,7 +19,7 @@   ) where  import Control.Applicative ((<$>))-import Control.Eff ( Eff, SetMember, VE(..), (:>)+import Control.Eff ( Eff, Member, SetMember, VE(..), (:>)                    , admin, handleRelay, inj, interpose, send) import Control.Eff.Lift (Lift, lift) import Data.Typeable (Typeable, Typeable1)@@ -31,7 +32,7 @@   , logNext :: v   } deriving (Typeable, Functor) -instance SetMember Log (Log m) (Log m :> a)+instance Member (Log m) r => SetMember Log (Log m) r  class ShowLog l where     showLog :: l -> LogStr@@ -42,7 +43,7 @@ -- | a monadic action that does the real logging type Logger m l = forall v. Log l v -> m () -logE :: (Typeable l, SetMember Log (Log l) r)+logE :: (Typeable l, Member (Log l) r)   => l -> Eff r () logE line = send $ \next -> inj (Log line (next ())) @@ -62,7 +63,7 @@         go (E req) = handleRelay req go performLog         performLog l = lift (logger l) >> go (logNext l) -filterLog :: (Typeable l, SetMember Log (Log l) r)+filterLog :: (Typeable l, Member (Log l) r)   => (l -> Bool) -> Eff r a -> Eff r a filterLog f = go . admin   where go (Val v) = return v
src/Control/Eff/Log/Simple.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-}@@ -20,7 +19,7 @@   ) where  import Prelude hiding (error)-import Control.Eff (Eff, SetMember)+import Control.Eff (Eff, Member) import Control.Eff.Log import Data.Monoid ((<>)) import Data.Typeable (Typeable)@@ -29,32 +28,32 @@ data Severity = DEBUG | INFO | NOTICE | WARNING | ERROR | CRITICAL | ALERT | PANIC   deriving (Bounded, Enum, Eq, Ord, Read, Show, Typeable) -logTo :: (Typeable l, SetMember Log (Log (Severity, l)) r)+logTo :: (Typeable l, Member (Log (Severity, l)) r)   => Severity -> l -> Eff r () logTo sev line = logE (sev, line) -debug :: (Typeable l, SetMember Log (Log (Severity, l)) r) => l -> Eff r ()+debug :: (Typeable l, Member (Log (Severity, l)) r) => l -> Eff r () debug = logTo DEBUG -info :: (Typeable l, SetMember Log (Log (Severity, l)) r) => l -> Eff r ()+info :: (Typeable l, Member (Log (Severity, l)) r) => l -> Eff r () info = logTo INFO -notice :: (Typeable l, SetMember Log (Log (Severity, l)) r) => l -> Eff r ()+notice :: (Typeable l, Member (Log (Severity, l)) r) => l -> Eff r () notice = logTo NOTICE -warning :: (Typeable l, SetMember Log (Log (Severity, l)) r) => l -> Eff r ()+warning :: (Typeable l, Member (Log (Severity, l)) r) => l -> Eff r () warning = logTo WARNING -error :: (Typeable l, SetMember Log (Log (Severity, l)) r) => l -> Eff r ()+error :: (Typeable l, Member (Log (Severity, l)) r) => l -> Eff r () error = logTo ERROR -critical :: (Typeable l, SetMember Log (Log (Severity, l)) r) => l -> Eff r ()+critical :: (Typeable l, Member (Log (Severity, l)) r) => l -> Eff r () critical = logTo CRITICAL -alert :: (Typeable l, SetMember Log (Log (Severity, l)) r) => l -> Eff r ()+alert :: (Typeable l, Member (Log (Severity, l)) r) => l -> Eff r () alert = logTo ALERT -panic :: (Typeable l, SetMember Log (Log (Severity, l)) r) => l -> Eff r ()+panic :: (Typeable l, Member (Log (Severity, l)) r) => l -> Eff r () panic = logTo PANIC  type SimpleLog a = Log (Severity, a)