module Web.SocketIO.Types.Log (Log(..)) where
import System.Console.ANSI
data Log = Error String
| Warn String
| Info String
| Debug String
deriving (Eq)
instance Show Log where
show (Error message) = " " ++ paint Red "[error] " ++ error message
show (Warn message) = " " ++ paint Yellow "[warn] " ++ message
show (Info message) = " " ++ paint Cyan "[info] " ++ message
show (Debug message) = " " ++ paint Black "[debug] " ++ message
paint :: Color -> String -> String
paint color s = setSGRCode [SetColor Foreground Vivid color] ++ s ++ setSGRCode []