chromatin-0.1.1.0: lib/Chromatin/Env.hs
module Chromatin.Env(
logError,
) where
import qualified Control.Lens as Lens (over)
import qualified Data.Map.Strict as Map (adjust)
import Ribosome.Api.Exists (epochSeconds)
import qualified Ribosome.Control.Ribo as Ribo (modify)
import Ribosome.Data.Errors (Errors(Errors), Error(Error), ComponentName)
import Chromatin.Data.Chromatin (Chromatin)
import qualified Chromatin.Data.Env as Env (_errors)
storeError :: Int -> ComponentName -> [String] -> Errors -> Errors
storeError time name msg (Errors errors) =
Errors (Map.adjust (err:) name errors)
where
err = Error time msg
logError :: ComponentName -> String -> Chromatin ()
logError name e = do
time <- epochSeconds
Ribo.modify $ Lens.over Env._errors (storeError time name [e])