refactor(logger): add a logger to handle all printing and writing to stdout