module Patrol.Type.Level where
import qualified Data.Aeson as Aeson
data Level
= Debug
| Info
| Warning
| Error
| Fatal
deriving (Level -> Level -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Level -> Level -> Bool
$c/= :: Level -> Level -> Bool
== :: Level -> Level -> Bool
$c== :: Level -> Level -> Bool
Eq, Int -> Level -> ShowS
[Level] -> ShowS
Level -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Level] -> ShowS
$cshowList :: [Level] -> ShowS
show :: Level -> String
$cshow :: Level -> String
showsPrec :: Int -> Level -> ShowS
$cshowsPrec :: Int -> Level -> ShowS
Show)
instance Aeson.ToJSON Level where
toJSON :: Level -> Value
toJSON Level
level = forall a. ToJSON a => a -> Value
Aeson.toJSON forall a b. (a -> b) -> a -> b
$ case Level
level of
Level
Debug -> String
"debug"
Level
Info -> String
"info"
Level
Warning -> String
"warning"
Level
Error -> String
"error"
Level
Fatal -> String
"fatal"