I am trying to use commons logging and want to use java.util.logging as underlying mechanism.
LogTest.java
import org.apache.commons.logging.*;
public class LogTest {
public static void main(String args[]) {
System.setProperty("java.util.logging.config.file","log.properties");
Log logger = LogFactory.getLog(LogTest.class);
logger.trace("trace msg");
}
}
I have src/main/resources/log.properties ( I am using maven project )
handlers=java.util.logging.ConsoleHandler
# Default global logging level.
# Loggers and Handlers may override this level
.level=ALL
I am not able to see any output. Please tell me how to programatically set the log.properties to leverage java logging.
Try adding
java.util.logging.ConsoleHandler.level=ALL
in your log.properties.You need to specify a logger that implements the Log interface. In this case, the Jdk14Logger.
Check out How to use 'Apache Commons Logging' with 'Java SE Logging'? for more details.
Except from link:
Then put
log-config.properties
in your classpath and configure accordingly.If you decide to change impls in the future, more loggers are available out of the box.
create commons-logging.properties in your classpath:
set java.util.logging.config.file before you instance of Logger:
then the JDK logging will be appender all logs which used by org.apache.commons.logging.*;
example: spring, hibernate, struts etc.