diff options
author | Paul Oliver <contact@pauloliver.dev> | 2024-08-24 11:57:18 -0700 |
---|---|---|
committer | Paul Oliver <contact@pauloliver.dev> | 2024-10-14 13:56:27 -0700 |
commit | 70d3e37b1a088209fe84abf07a39d14dec116c6b (patch) | |
tree | cd7779f004080c02b1fc6b1327c43ec2dd4e02d5 /hsm-core/Hsm/Core/LogIO.hs |
Diffstat (limited to 'hsm-core/Hsm/Core/LogIO.hs')
-rw-r--r-- | hsm-core/Hsm/Core/LogIO.hs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/hsm-core/Hsm/Core/LogIO.hs b/hsm-core/Hsm/Core/LogIO.hs new file mode 100644 index 0000000..fb187e9 --- /dev/null +++ b/hsm-core/Hsm/Core/LogIO.hs @@ -0,0 +1,25 @@ +{-# LANGUAGE ImportQualifiedPost #-} + +-- Module : Hsm.Core.LogIO +-- Maintainer : contact@pauloliver.dev +module Hsm.Core.LogIO + ( LoggerIO + , getLoggerIO + ) +where + +import Data.Aeson.Types (emptyObject) +import Data.Text (Text) +import Data.Time.Clock (getCurrentTime) +import Effectful.Log (LogLevel, MonadLog) +import Effectful.Log qualified as L (getLoggerIO) + +-- Wraps logger returned by @getLoggerIO@ into simpler type. +type LoggerIO = LogLevel -> Text -> IO () + +getLoggerIO :: MonadLog m => m LoggerIO +getLoggerIO = + L.getLoggerIO >>= \logIO -> + return $ \level msg -> + getCurrentTime >>= \now -> + logIO now level msg emptyObject |