log-warper-0.2.1: src/System/Wlog/Severity.hs
{-# LANGUAGE TemplateHaskell #-}
-- | Custom wrapper around @hslogger.Priority@.
module System.Wlog.Severity
( Severity (..)
, convertSeverity
) where
import Data.SafeCopy (base, deriveSafeCopySimple)
import Data.Typeable (Typeable)
import Data.Yaml (FromJSON, ToJSON)
import GHC.Generics (Generic)
import System.Log.Logger (Priority (DEBUG, ERROR, INFO, NOTICE, WARNING))
-- | This type specifies which messages to print.
data Severity
= Debug
| Info
| Notice
| Warning
| Error
deriving (Generic, Typeable, Show, Read, Eq)
instance FromJSON Severity
instance ToJSON Severity
deriveSafeCopySimple 0 'base ''Severity
-- | Maps 'Severity' into 'Priority'.
convertSeverity :: Severity -> Priority
convertSeverity Debug = DEBUG
convertSeverity Info = INFO
convertSeverity Notice = NOTICE
convertSeverity Warning = WARNING
convertSeverity Error = ERROR