log 0.5.7 → 0.6
raw patch · 6 files changed
+13/−9 lines, 6 files
Files
- log.cabal +1/−1
- src/Log/Backend/ElasticSearch.hs +1/−0
- src/Log/Backend/PostgreSQL.hs +1/−0
- src/Log/Backend/StandardOutput/Bulk.hs +1/−0
- src/Log/Internal/Logger.hs +9/−0
- src/Log/Logger.hs +0/−8
log.cabal view
@@ -1,5 +1,5 @@ name: log-version: 0.5.7+version: 0.6 synopsis: Structured logging solution with multiple backends description: A library that provides a way to record structured
src/Log/Backend/ElasticSearch.hs view
@@ -24,6 +24,7 @@ import Data.Word import Database.Bloodhound hiding (Status) import Log+import Log.Internal.Logger import Network.HTTP.Client import Prelude import TextShow
src/Log/Backend/PostgreSQL.hs view
@@ -22,6 +22,7 @@ import Log.Data import Log.Logger+import Log.Internal.Logger newtype InvalidEncodingRecoveryAttempt = Attempt Int deriving Enum
src/Log/Backend/StandardOutput/Bulk.hs view
@@ -9,6 +9,7 @@ import Log.Data import Log.Logger+import Log.Internal.Logger -- | Create a 'bulkStdoutLogger' for the duration of the given action, -- and shut it down afterwards, making sure that all buffered messages
src/Log/Internal/Logger.hs view
@@ -5,9 +5,11 @@ , execLogger , waitForLogger , shutdownLogger+ , withLogger ) where import Data.Semigroup+import Control.Exception import Prelude import Log.Data@@ -41,6 +43,13 @@ -- will result in an exception. shutdownLogger :: Logger -> IO () shutdownLogger Logger{..} = loggerShutdown++-- | 'bracket'-like execution of an 'IO' action, verifying all messages+-- are properly logged. See 'mkBulkLogger'.+withLogger :: Logger -> (Logger -> IO r) -> IO r+withLogger logger act = act logger `finally` cleanup+ where+ cleanup = waitForLogger logger >> shutdownLogger logger instance Semigroup Logger where l1 <> l2 = Logger {
src/Log/Logger.hs view
@@ -3,7 +3,6 @@ Logger , mkLogger , mkBulkLogger- , withLogger , execLogger , waitForLogger , shutdownLogger@@ -78,13 +77,6 @@ mkBulkLogger :: T.Text -> ([LogMessage] -> IO ()) -> IO () -> IO Logger mkBulkLogger = mkLoggerImpl newSQueueIO isEmptySQueue readSQueue writeSQueue (threadDelay 1000000)---- | 'bracket' like execution of an 'IO' action, verifying all messages--- are properly logged. See 'mkBulkLogger'.-withLogger :: Logger -> (Logger -> IO r) -> IO r-withLogger logger act = act logger `finally` cleanup- where- cleanup = waitForLogger logger >> shutdownLogger logger ----------------------------------------