packages feed

micrologger-0.3.0.0: src/LuminescentDreams/Logger/Internal.hs

module LuminescentDreams.Logger.Internal where

import qualified Data.Text.Buildable      as TFB
import qualified Data.Text.Lazy           as T

data LogLevel = LogDebug
              | LogInfo
              | LogWarning
              | LogError
              | LogEmergency
              deriving (Eq, Ord)

data Logger = Logger (T.Text -> IO ()) LogLevel

instance TFB.Buildable LogLevel where
  build LogDebug      = TFB.build ("DEBUG" :: String)
  build LogInfo       = TFB.build ("INFO" :: String)
  build LogWarning    = TFB.build ("WARNING" :: String)
  build LogError      = TFB.build ("ERROR" :: String)
  build LogEmergency  = TFB.build ("EMERGENCY" :: String)