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))
data Severity
= Debug
| Info
| Notice
| Warning
| Error
deriving (Generic, Typeable, Show, Read, Eq)
instance FromJSON Severity
instance ToJSON Severity
deriveSafeCopySimple 0 'base ''Severity
convertSeverity :: Severity -> Priority
convertSeverity Debug = DEBUG
convertSeverity Info = INFO
convertSeverity Notice = NOTICE
convertSeverity Warning = WARNING
convertSeverity Error = ERROR