Makes the creation of the logger the responsibility of the caller

If multiple observers were set up using a factory and a single log
file the log file would be concurrently written to be a bunch of
different loggers, causing corrupted log entries.