TODO: if multiline messages aren't needed, then remove them.
TODO: switch to the conventional Ruby logger interface, or create an adapter to it. If the former, then decided what to do with the unit tests.