使用动态生成的YAML文件以编程方式配置Log4J 2

时间:2019-03-28 14:35:29

标签: java yaml log4j2

我需要使用从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");

0 个答案:

没有答案