I want to use log4j2 Commons Logging Bridge with commons 1.2. I tried to use something like follows:
import org.apache.logging.log4j.jcl.LogFactoryImpl;
public class MyClass{
private static Log log = LogFactoryImpl.getLog(DropinsBundleDeployer.class);
.
.
.
log.error("Error occured", e);
}
But when I'm running the code I'm getting following issue and cannot see any log:
log4j:WARN Please initialize the log4j system properly.
However the log4j2.xml file is in the class path. How can I correctly use commons logging 1.2 with log4j2 ?
Apache Commons Logging (previously known as Jakarta Commons Logging or JCL) is a thin adapter allowing configurable bridging to other, well-known logging systems like Log4J, LogKit. But through wrappers, you can use commons-logging with any other logging systems like log4j2, SLF4J, LogBack, etc.
The Commons Logging Bridge allows applications coded to the Commons Logging API to use Log4j 2 as the implementation.
log4j is a logging framework, i.e. it provides the code to log messages. Commons-logging is an abstraction layer for logging frameworks, it doesn't log anything itself.
Apache Commons Logging (previously known as Jakarta Commons Logging or JCL) is a Java-based logging utility and a programming model for logging and for other toolkits. It provides APIs, log implementations, and wrapper implementations over some other tools.
You may want to look at the FAQ page on which jars you need.
You will need the following jars on the classpath:
Also please ensure that log4j-1.2 is not in your classpath. That error messages looks like a log4j-1.2 error...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With