Initial setup
This commit is contained in:
parent
22debc12d7
commit
f6d7a9e183
28
Lecture 03/LogAnalysis/LogAnalysis.hs
Normal file
28
Lecture 03/LogAnalysis/LogAnalysis.hs
Normal file
@ -0,0 +1,28 @@
|
||||
module LogAnalysis where
|
||||
|
||||
import Text.Read ( readMaybe )
|
||||
|
||||
data MessageType = Info
|
||||
| Warning
|
||||
| Error Int
|
||||
deriving (Show, Eq)
|
||||
|
||||
type Timestamp = Int
|
||||
|
||||
data LogMessage = LogMessage MessageType Timestamp String
|
||||
deriving (Show, Eq)
|
||||
|
||||
data MaybeLogMessage = ValidLM LogMessage
|
||||
| InvalidLM String
|
||||
deriving (Show, Eq)
|
||||
|
||||
data MaybeInt = ValidInt Int
|
||||
| InvalidInt
|
||||
deriving (Show, Eq)
|
||||
|
||||
readInt :: String -> MaybeInt
|
||||
readInt s
|
||||
| Just i <- readMaybe s = ValidInt i
|
||||
| otherwise = InvalidInt
|
||||
|
||||
-- parseMessage :: String -> MaybeLogMessage
|
5523
Lecture 03/LogAnalysis/error.log
Normal file
5523
Lecture 03/LogAnalysis/error.log
Normal file
File diff suppressed because it is too large
Load Diff
11
Lecture 03/LogAnalysis/sample.log
Normal file
11
Lecture 03/LogAnalysis/sample.log
Normal file
@ -0,0 +1,11 @@
|
||||
I 6 Completed armadillo processing
|
||||
I 1 Nothing to report
|
||||
I 4 Everything normal
|
||||
I 11 Initiating self-destruct sequence
|
||||
E 70 3 Way too many pickles
|
||||
E 65 8 Bad pickle-flange interaction detected
|
||||
W 5 Flange is due for a check-up
|
||||
I 7 Out for lunch, back in two time steps
|
||||
E 20 2 Too many pickles
|
||||
I 9 Back from lunch
|
||||
E 99 10 Flange failed!
|
Reference in New Issue
Block a user