parseMessage :: String -> LogMessage
parseMessage xs= let list = words xs in
                 case list of
                 ("I":line:msg) -> LogMessage Info (read line) (unwords msg)
                 ("W":line:msg) -> LogMessage Warning (read line) (unwords msg)
                 ("E":line:level:msg) -> LogMessage (Error (read line)) (read level) (unwords msg)
                 _ -> Unknown (unwords list)
parseMessage :: String -> LogMessage
parseMessage xs= let list = words xs in
                 case list of
                 ("I":line:msg) -> LogMessage Info (read line) (unwords msg)
                 ("W":line:msg) -> LogMessage Warning (read line) (unwords msg)
                 ("E":line:level:msg) -> LogMessage (Error (read line)) (read level) (unwords msg)
                 _ -> Unknown (unwords list)
parseMessage xs= let list = words xs in
                 case list of
                 ("I":line:msg) -> LogMessage Info (read line) (unwords msg)
                 ("W":line:msg) -> LogMessage Warning (read line) (unwords msg)
                 ("E":line:level:msg) -> LogMessage (Error (read line)) (read level) (unwords msg)
                 _ -> Unknown (unwords list)