Regular program output shouldn't run through the logger. Instead, use a configurable output, such that tests can read the output instead of stdout.
The log level should be changed to warning or error. Many of the informational messages probably need to be changed to use the output.
The output should also control printing for different configurations, e.g. for GitHub.