Logger

Please review and merge if acceptable.