我正在开发一个库,并希望使用Log4J作为调试消息的记录器等。唯一的事情是,我不想用我自己的方法覆盖其他人的日志配置文件。我想知道是否或如何只为一个记录器设置配置文件。我目前的代码如下:
try {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream is = classLoader.getResourceAsStream(assetsFolder + "log4j2.xml");
ConfigurationSource source = new ConfigurationSource(is);
Configurator.initialize(null, source);
LOG = LogManager.getLogger("Slik");
} catch (Exception e) {
LOG = LogManager.getLogger();
//System.out.println("Failed to initialize the logger");
LOG.error("Failed to initialize the logger");
LOG.log(Level.ERROR, e.getMessage(), e);
}
但根据我的理解,使用Configuration.initialize(null, source);
会将其设置为所有记录器的配置文件。