From 70d3e37b1a088209fe84abf07a39d14dec116c6b Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Sat, 24 Aug 2024 11:57:18 -0700 Subject: Initial commit --- hsm-core/Hsm/Core/LogIO.hs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 hsm-core/Hsm/Core/LogIO.hs (limited to 'hsm-core/Hsm/Core/LogIO.hs') 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 -- cgit v1.2.1