https://github.com/apache/jena/blob/master/jena-tdb/log4j.properties
имеет файл свойств log4j.
На основании этого я использую вспомогательную функцию configureLog4j, показанную ниже, вот так:
установить уровень ведения журнала JENA во время выполнения
String level=org.apache.log4j.Level.OFF.toString();
if (debug)
level=org.apache.log4j.Level.INFO.toString();
configureLog4j(level);
функция configureLog4J
/**
* configure Log4J
* @param level -the level to use e.g. "INFO", "DEBUG", "OFF"
* see org.apache.log4j.Level
*/
private void configureLog4j(String level) {
Properties props = new Properties();
props.put("log4j.rootLogger", level+", stdlog");
props.put("log4j.appender.stdlog", "org.apache.log4j.ConsoleAppender");
props.put("log4j.appender.stdlog.target", "System.out");
props.put("log4j.appender.stdlog.layout", "org.apache.log4j.PatternLayout");
props.put("log4j.appender.stdlog.layout.ConversionPattern",
"%d{HH:mm:ss} %-5p %-25c{1} :: %m%n");
// Execution logging
props.put("log4j.logger.com.hp.hpl.jena.arq.info", level);
props.put("log4j.logger.com.hp.hpl.jena.arq.exec", level);
// TDB loader
props.put("log4j.logger.org.apache.jena.tdb.loader", level);
// Everything else in Jena
props.put("log4j.logger.com.hp.hpl.jena", level);
props.put("log4j.logger.org.apache.jena.riot", level);
// TDB
// TDB syslog.
props.put("log4j.logger.TDB", level);
props.put("log4j.logger.com.hp.hpl.jena.tdb", level);
props.put("log4j.logger.com.hp.hpl.jena.tdb.transaction", level);
props.put("log4j.logger.com.hp.hpl.jena.tdb.transaction.NodeTableTrans",
level);
props.put("log4j.logger.com.hp.hpl.jena.tdb.transaction.TransactionManager",level);
props.put("log4j.logger.com.hp.hpl.jena.tdb.transaction.TestTransSystem",level);
// Joseki server
props.put("log4j.logger.org.joseki", level);
LogManager.resetConfiguration();
PropertyConfigurator.configure(props);
}