Modify logger implementation to support defining log and warn behavior, as well as allow for a logger to have multiple outputs.