Thursday, September 15, 2011

Simplifying logging with Maven and SLF4J (Part 2)

So in my previous post I explained how to simplify your logging with Maven and SLF4J. If you haven't read it yet, please do before reading more.  Since then I've discovered an easier and cleaner way to remove the secondary frameworks from your Maven dependency tree.

Here's a revised overview of the steps:

  1. Decided which logging framework will be your primary, aka who will actually write to your log file.
  2. Define the dependency scope of all the secondary frameworks to be 'provided'.
  3. Configure your project to depend on drop-in replacements of each secondary framework from SLF4J.

Define secondary frameworks as provided

Use the dependencyManagement section for this. Its used when you might have a dependency transitively.

Add dependency on SLF4J

Add the following to your pom.xml


So now in only 3 steps you can redirect all your logging to your primary logging framework without changing a line of code!