add a configurable logger

fixes #179