add a observer utility and some generated csv to log