primedia/clj-config — pull request #8 by trptcolin (2014-12-18 16:22:08+00:00)
Title: 84629996 logging

This fixes the major issue of #6, in order to ensure that clj-config's output is correctly ordered with respect to other logging output. It does *not* solve the chicken-or-egg problem of putting logging configuration in clj-config-loaded sources, and somehow having that affect the logging that clj-config itself does. However, since this uses clojure.tools.logging, this does allow consumers to set up their preferred logging before running clj-config's `init!`, which ends up logging the output.

This needs to be a *breaking* change, because `clojure.tools.logging`'s `info` and `error` are macros, so there's no way to have a variable-arity function like the existing `clj-config/info`/`clj-config/error` call them. Existing consumers are using `with-redefs`/`binding` in tests to suppress logging.

And because it needs to be a breaking change, we may as well fix the single-segment namespace issue at the same time while we're in there.

So consumers will have 2 small changes to make:
1. Update references to `clj-config` to `clj-config.core`.
2. Replace any `with-redefs`/`binding` of `clj-config/info`/`clj-config/error` with similar replacement of `clojure.tools.logging/log*`, like [we do in the test helper](https://github.com/primedia/clj-config/blob/2e3b2e6542576b3b31d254bfadf5288ad0a279b9/test/clj_config/test_helper.clj#L5-L7/).