polysemy-log-co 0.7.2.0 → 0.8.0.0
raw patch · 3 files changed
+21/−16 lines, 3 filesdep +co-log-concurrentdep ~co-logdep ~co-log-polysemydep ~polysemy-concPVP ok
version bump matches the API change (PVP)
Dependencies added: co-log-concurrent
Dependency ranges changed: co-log, co-log-polysemy, polysemy-conc, polysemy-test, polysemy-time
API changes (from Hackage documentation)
- Polysemy.Log.Colog: interpretCologConcNativeWith :: forall msg r. Members [Resource, Embed IO] r => Capacity -> LogAction IO msg -> InterpreterFor (Log msg) r
+ Polysemy.Log.Colog: interpretCologConcNativeWith :: forall msg r. Members [Resource, Embed IO] r => Capacity -> LogAction IO msg -> IO () -> InterpreterFor (Log msg) r
- Polysemy.Log.Colog.Conc: interpretCologConcNativeWith :: forall msg r. Members [Resource, Embed IO] r => Capacity -> LogAction IO msg -> InterpreterFor (Log msg) r
+ Polysemy.Log.Colog.Conc: interpretCologConcNativeWith :: forall msg r. Members [Resource, Embed IO] r => Capacity -> LogAction IO msg -> IO () -> InterpreterFor (Log msg) r
Files
- lib/Polysemy/Log/Colog/Conc.hs +6/−4
- polysemy-log-co.cabal +8/−6
- test/Polysemy/Log/Colog/Test/ConcTest.hs +7/−6
lib/Polysemy/Log/Colog/Conc.hs view
@@ -2,7 +2,8 @@ module Polysemy.Log.Colog.Conc where import qualified Colog-import Colog (LogAction, convertToLogAction, defCapacity, forkBackgroundLogger, killBackgroundLogger)+import Colog (LogAction)+import Colog.Concurrent (convertToLogAction, defCapacity, forkBackgroundLogger, killBackgroundLogger) import Colog.Concurrent.Internal (Capacity) import qualified Colog.Polysemy as Colog import Colog.Polysemy (runLogAction)@@ -17,9 +18,10 @@ Members [Resource, Embed IO] r => Capacity -> LogAction IO msg ->+ IO () -> InterpreterFor (Colog.Log msg) r-interpretCologConcNativeWith capacity action sem = do- bracket (embed (forkBackgroundLogger capacity action)) (embed . killBackgroundLogger) use+interpretCologConcNativeWith capacity action flush sem = do+ bracket (embed (forkBackgroundLogger capacity action flush)) (embed . killBackgroundLogger) use where use worker = runLogAction (convertToLogAction @IO worker) sem@@ -30,5 +32,5 @@ Members [Resource, Embed IO] r => InterpreterFor (Colog.Log (LogEntry LogMessage)) r interpretCologConcNative =- interpretCologConcNativeWith defCapacity (contramap formatLogEntry Colog.logTextStdout)+ interpretCologConcNativeWith defCapacity (contramap formatLogEntry Colog.logTextStdout) unit {-# inline interpretCologConcNative #-}
polysemy-log-co.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: polysemy-log-co-version: 0.7.2.0+version: 0.8.0.0 synopsis: Colog adapters for Polysemy.Log description: See https://hackage.haskell.org/package/polysemy-log-co/docs/Polysemy-Log-Colog.html category: Logging@@ -98,13 +98,14 @@ ghc-options: -Wall -Wredundant-constraints -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Widentities -Wunused-packages build-depends: base >=4.12 && <5- , co-log >=0.4.0.1- , co-log-polysemy >=0.0.1.2+ , co-log ==0.5.*+ , co-log-concurrent ==0.5.*+ , co-log-polysemy >=0.0.1.3 && <0.1 , incipit-core >=0.3 , polysemy- , polysemy-conc >=0.9+ , polysemy-conc >=0.10 && <0.12 , polysemy-log- , polysemy-time >=0.5+ , polysemy-time ==0.5.* , stm mixins: base hiding (Prelude)@@ -187,12 +188,13 @@ build-depends: base >=4.12 && <5 , co-log+ , co-log-concurrent , co-log-polysemy , incipit-core >=0.3 , polysemy , polysemy-log , polysemy-log-co- , polysemy-test >=0.6+ , polysemy-test ==0.6.* , polysemy-time , stm , tasty
test/Polysemy/Log/Colog/Test/ConcTest.hs view
@@ -1,17 +1,18 @@ module Polysemy.Log.Colog.Test.ConcTest where -import Colog (LogAction(LogAction), defCapacity)+import Colog (LogAction (LogAction))+import Colog.Concurrent (defCapacity)+import Control.Concurrent.STM (atomically, modifyTVar', newTVarIO, readTVarIO) import Polysemy.Test (UnitTest, assertEq, runTestAuto) import Polysemy.Log.Colog.Colog (interpretLogColog') import Polysemy.Log.Colog.Conc (interpretCologConcNativeWith)-import qualified Polysemy.Log.Effect.Log as Log-import Polysemy.Log.Effect.Log (Log) import qualified Polysemy.Log.Data.LogEntry as LogEntry import Polysemy.Log.Data.LogEntry (LogEntry)-import Polysemy.Log.Data.LogMessage (LogMessage(LogMessage))+import Polysemy.Log.Data.LogMessage (LogMessage (LogMessage)) import qualified Polysemy.Log.Data.Severity as Severity-import Control.Concurrent.STM (newTVarIO, atomically, modifyTVar', readTVarIO)+import qualified Polysemy.Log.Effect.Log as Log+import Polysemy.Log.Effect.Log (Log) prog :: Member Log r =>@@ -29,6 +30,6 @@ runTestAuto do tv <- embed (newTVarIO []) let action msg = atomically (modifyTVar' tv (msg :))- interpretCologConcNativeWith @(LogEntry LogMessage) defCapacity (LogAction action) (interpretLogColog' prog)+ interpretCologConcNativeWith @(LogEntry LogMessage) defCapacity (LogAction action) unit (interpretLogColog' prog) msgs <- embed (readTVarIO tv) assertEq @_ @IO target (LogEntry.message <$> msgs)