log-0.6: src/Log/Backend/StandardOutput/Bulk.hs
-- | Bulk stdout logging back-end, useful mainly for testing.
module Log.Backend.StandardOutput.Bulk (
withBulkStdOutLogger,
bulkStdoutLogger
) where
import Prelude
import qualified Data.Text.IO as T
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
-- are actually written to stdout.
withBulkStdOutLogger :: (Logger -> IO r) -> IO r
withBulkStdOutLogger act = do
logger <- bulkStdoutLogger
withLogger logger act
{-# DEPRECATED bulkStdoutLogger "Use 'withBulkStdOutLogger' instead!" #-}
-- | Start an asynchronous logger thread that prints messages to
-- standard output.
--
-- Please use 'withBulkStdOutLogger'' instead, which is more exception-safe
-- (see the note attached to 'mkBulkLogger').
bulkStdoutLogger :: IO Logger
bulkStdoutLogger = mkBulkLogger "stdout-bulk"
(mapM_ $ T.putStrLn . showLogMessage Nothing)
(return ())