I am trying to wrap my head around all the different logging tools (log4j, slf4j, logback, jcl, etc) and what they all do.
I understand that slf4j is a facade to the different logging tools making it easy to switch between any logging tools. But I am confused when I get to the topic of logback. I understand logback is a successor to log4j and from this post it uses the words "natively implements"; what does that mean exactly. From what I'm understanding is that logback is the same thing as slf4j.....so is it a facade as well? I'm getting mixed descriptions of logback being a back end logging tool and a face just the same as slf4j.
I tried a small test project to understand how it works. So in my maven pom I put:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.3</version>
</dependency>
Then in the code I put:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Foo {
/** The Constant LOGGER. */
private static final Logger LOGGER = LoggerFactory.getLogger(Foo.class);
}
So does this implementation mean that slf4j is a facade for logback and that logback is a back end logging tool the same as log4j and jcl?