packages feed

heavy-logger 0.3.2.1 → 0.3.2.2

raw patch · 2 files changed

+26/−2 lines, 2 filesdep ~text-format-heavyPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: text-format-heavy

API changes (from Hackage documentation)

+ System.Log.Heavy.Types: instance (GHC.Base.Monad m, Control.Monad.IO.Class.MonadIO m, System.Log.Heavy.Types.HasLogging m) => Control.Monad.Logger.MonadLoggerIO m

Files

heavy-logger.cabal view
@@ -1,5 +1,5 @@ name:                heavy-logger-version:             0.3.2.1+version:             0.3.2.2 synopsis:            Full-weight logging based on fast-logger description:         This is Haskell logging library, which prefers functionality and extendability                      over light weight and simplicity. It can use fast-logger as backend, and is compatible @@ -46,7 +46,7 @@                        fast-logger >= 2.4.10,                        monad-logger >= 0.3.22,                        hsyslog >= 5,-                       text-format-heavy >= 0.1.5.1,+                       text-format-heavy >= 0.1.5.2,                        thread-local-storage >= 0.1.1,                        stm >= 2.4   hs-source-dirs:      src
src/System/Log/Heavy/Types.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings, TypeSynonymInstances, FlexibleInstances, ExistentialQuantification, TypeFamilies, GeneralizedNewtypeDeriving, StandaloneDeriving, MultiParamTypeClasses, UndecidableInstances, AllowAmbiguousTypes, ScopedTypeVariables, FunctionalDependencies, FlexibleContexts, ConstraintKinds #-}+{-# LANGUAGE CPP #-}  -- | This module contains generic types definition, along with some utilities. module System.Log.Heavy.Types@@ -22,6 +23,9 @@  import Control.Monad.Reader import Control.Monad.Logger (MonadLogger (..))+#if MIN_VERSION_monad_logger(0,3,10)+import Control.Monad.Logger (MonadLoggerIO (..))+#endif import Control.Monad.Trans.Control import Control.Exception.Lifted (bracket) import Language.Haskell.TH@@ -227,6 +231,26 @@        textFromLogStr :: ToLogStr str => str -> TL.Text       textFromLogStr str = TL.fromStrict $ TE.decodeUtf8 $ fromLogStr $ toLogStr str++#if MIN_VERSION_monad_logger(0,3,10)+-- | Another compatibility instance.+instance (Monad m, MonadIO m, HasLogging m) => MonadLoggerIO m where+  askLoggerIO = do+      logger <- getLogger+      context <- getLogContext+      return $ \loc src level msg ->+                  logger $ LogMessage {+                          lmLevel = logLevelToLevel level,+                          lmSource = (splitDots $ T.unpack src),+                          lmLocation = loc,+                          lmFormatString = textFromLogStr msg,+                          lmFormatVars = (),+                          lmContext = context+                        }+    where+      textFromLogStr :: ToLogStr str => str -> TL.Text+      textFromLogStr str = TL.fromStrict $ TE.decodeUtf8 $ fromLogStr $ toLogStr str+#endif  instance F.Formatable LogStr where   formatVar fmt str = F.formatVar fmt $ fromLogStr str