privatize logger interface and add docs to setlogger