mischief-ecs-0.2.0.0: src/Mischief/ECS/Log.hs
module Mischief.ECS.Log where
import Colog qualified
import Control.Monad.IO.Class
import Data.Text (Text)
import GHC.Stack
import Mischief.ECS.World
debug :: (HasCallStack) => (MonadSystem w m) => Text -> m ()
debug !msg = withFrozenCallStack $ do
!world <- unsafeGetWorld
liftIO $ Colog.usingLoggerT world.logger $ Colog.logDebug msg
info :: (HasCallStack) => (MonadSystem w m) => Text -> m ()
info !msg = withFrozenCallStack $ do
!world <- unsafeGetWorld
liftIO $ Colog.usingLoggerT world.logger $ Colog.logInfo msg
warn :: (HasCallStack) => (MonadSystem w m) => Text -> m ()
warn !msg = withFrozenCallStack $ do
!world <- unsafeGetWorld
liftIO $ Colog.usingLoggerT world.logger $ Colog.logWarning msg
err :: (HasCallStack) => (MonadSystem w m) => Text -> m ()
err !msg = withFrozenCallStack $ do
!world <- unsafeGetWorld
liftIO $ Colog.usingLoggerT world.loggerErr $ Colog.logError msg