如何在Log4J中仅为一个记录器设置配置文件

时间:2017-05-21 17:56:23

标签: java logging log4j

我正在开发一个库,并希望使用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);会将其设置为所有记录器的配置文件。

0 个答案:

没有答案