packages feed

logging-facade 0.2.0 → 0.3.0

raw patch · 2 files changed

+16/−31 lines, 2 filesdep +call-stackPVP ok

version bump matches the API change (PVP)

Dependencies added: call-stack

API changes (from Hackage documentation)

- System.Logging.Facade: debug :: (?loc :: CallStack) => Logging m => String -> m ()
+ System.Logging.Facade: debug :: (HasCallStack, Logging m) => String -> m ()
- System.Logging.Facade: error :: (?loc :: CallStack) => Logging m => String -> m ()
+ System.Logging.Facade: error :: (HasCallStack, Logging m) => String -> m ()
- System.Logging.Facade: info :: (?loc :: CallStack) => Logging m => String -> m ()
+ System.Logging.Facade: info :: (HasCallStack, Logging m) => String -> m ()
- System.Logging.Facade: log :: (?loc :: CallStack) => Logging m => LogLevel -> String -> m ()
+ System.Logging.Facade: log :: (HasCallStack, Logging m) => LogLevel -> String -> m ()
- System.Logging.Facade: trace :: (?loc :: CallStack) => Logging m => String -> m ()
+ System.Logging.Facade: trace :: (HasCallStack, Logging m) => String -> m ()
- System.Logging.Facade: warn :: (?loc :: CallStack) => Logging m => String -> m ()
+ System.Logging.Facade: warn :: (HasCallStack, Logging m) => String -> m ()

Files

logging-facade.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:             logging-facade-version:          0.2.0+version:          0.3.0 synopsis:         Simple logging abstraction that allows multiple back-ends description:      Simple logging abstraction that allows multiple back-ends homepage:         https://github.com/sol/logging-facade#readme@@ -34,6 +34,7 @@       Paths_logging_facade   build-depends:       base == 4.*+    , call-stack     , transformers   default-language: Haskell2010 
src/System/Logging/Facade.hs view
@@ -1,8 +1,5 @@-{-# LANGUAGE CPP #-}-#if MIN_VERSION_base(4,8,1)-#define HAS_SOURCE_LOCATIONS-{-# LANGUAGE ImplicitParams #-}-#endif+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ConstraintKinds #-} -- | -- This module is intended to be imported qualified: --@@ -22,49 +19,36 @@ ) where  import           Prelude hiding (log, error)+import           Data.CallStack  import           System.Logging.Facade.Types import           System.Logging.Facade.Class -#ifdef HAS_SOURCE_LOCATIONS-#if ! MIN_VERSION_base(4,9,0)-import           GHC.SrcLoc-#endif-import           GHC.Stack-#define with_loc (?loc :: CallStack) =>-#else-#define with_loc-#endif- -- | Produce a log message with specified log level.-log :: with_loc Logging m => LogLevel -> String -> m ()+log :: (HasCallStack, Logging m) => LogLevel -> String -> m () log level message = consumeLogRecord (LogRecord level location message)-  where-    location :: Maybe Location-#ifdef HAS_SOURCE_LOCATIONS-    location = case reverse (getCallStack ?loc) of-      (_, loc) : _ -> Just $ Location (srcLocPackage loc) (srcLocModule loc) (srcLocFile loc) (srcLocStartLine loc) (srcLocStartCol loc)-      _ -> Nothing-#else-    location = Nothing-#endif +location :: HasCallStack => Maybe Location+location = case reverse callStack of+  (_, loc) : _ -> Just $ Location (srcLocPackage loc) (srcLocModule loc) (srcLocFile loc) (srcLocStartLine loc) (srcLocStartCol loc)+  _ -> Nothing+ -- | Produce a log message with log level `TRACE`.-trace :: with_loc Logging m => String -> m ()+trace :: (HasCallStack, Logging m) => String -> m () trace = log TRACE  -- | Produce a log message with log level `DEBUG`.-debug :: with_loc Logging m => String -> m ()+debug :: (HasCallStack, Logging m) => String -> m () debug = log DEBUG  -- | Produce a log message with log level `INFO`.-info :: with_loc Logging m => String -> m ()+info :: (HasCallStack, Logging m) => String -> m () info = log INFO  -- | Produce a log message with log level `WARN`.-warn :: with_loc Logging m => String -> m ()+warn :: (HasCallStack, Logging m) => String -> m () warn = log WARN  -- | Produce a log message with log level `ERROR`.-error :: with_loc Logging m => String -> m ()+error :: (HasCallStack, Logging m) => String -> m () error = log ERROR