Extension 7: Logging
For this extension I had to implement a logging system into the bank server. The perpose of the logging system is twofold, the first reason being that you want to be able to know how you reached your current state and the second being to detect suspicious behaviour.
For the first purpose I had to log every action in the system that changes its state. The log should contain sufficient information so that I could replay all of the events.
For the second purpose I had to log every server request that produces an error, like failed login requests or pin attempts.