Factorize all logger macros into two generic ones. Closes #1.

Instead of having two macro for each level, we now extract the level
by inspecting c.macroApplication and pattern matching on the method
name