我需要使用从Web服务加载的YAML配置动态配置Log4j 2。
有什么方法可以加载此配置吗?
我最好的方法是下载YAML配置并将其写入临时文件,然后使Log4j 2加载它。它正在工作,但是感觉不好。
File f = File.createTempFile("config",".yaml");
Files.write(f.toPath(),yamlString.getBytes());
Configurator.initialize(null, f.getAbsolutePath());
f.delete();
Logger LOGGER = LoggerFactory.getLogger(MyClass.class);
LOGGER.info("This is a INFO message");
Shortened,我希望能够:
ConfigurationSource source = new ConfigurationSource(new ByteArrayInputStream(yamlString.getBytes()));
Configurator.initialize(new YamlConfiguration(null,source));
Logger LOGGER = LoggerFactory.getLogger(MyClass.class);
LOGGER.info("This is a INFO message");