wolf-0.3.0: src/Network/AWS/Flow/Logger.hs
module Network.AWS.Flow.Logger
( logStrLn
, logDebug'
, logInfo'
, logWarn'
, logError'
) where
import Network.AWS.Flow.Prelude
import Control.Monad.Logger
import Data.Time.Clock
import Data.Time.Format
import Data.Version
import Formatting hiding (now)
import Paths_wolf
import System.Log.FastLogger
prefix :: IO LogStr
prefix = do
now <- getCurrentTime
return $ toLogStr $ sformat (string % " name=wolf v=" % string % " ")
(formatTime defaultTimeLocale "%FT%T%z" now)
(showVersion version)
logStrLn :: LogStr -> IO ()
logStrLn s = do
loggerSet <- newStderrLoggerSet defaultBufSize
p <- prefix
mapM_ (pushLogStr loggerSet) [p, s, "\n"]
flushLogStr loggerSet
logDebug' :: MonadLogger m => Text -> m ()
logDebug' = logDebugN
logInfo' :: MonadLogger m => Text -> m ()
logInfo' = logInfoN
logWarn' :: MonadLogger m => Text -> m ()
logWarn' = logWarnN
logError' :: MonadLogger m => Text -> m ()
logError' = logErrorN