saner handling of console/file logging setup

- before this was a terrible block of if/elses
- now its just two ifs (plus one to catch the no logger case)