Adds a proper logger to the application

This commit adds a proper logger to the application such that we can
log at different levels (e.g. debug or info) and those logs will be
timestamped.