private ConfigurationSource getConfigurationSource(URL url) throws IOException { InputStream stream = url.openStream(); if (FILE_PROTOCOL.equals(url.getProtocol())) { return new ConfigurationSource(stream, ResourceUtils.getFile(url)); } return new ConfigurationSource(stream, url); }
private Configuration loadConfiguration(String resourcePath) throws IOException { InputStream in = getClass().getClassLoader().getResourceAsStream(resourcePath); try { Configuration configuration = new XmlConfiguration(new LoggerContext("test"), new ConfigurationSource(in)); configuration.initialize(); configuration.start(); return configuration; } finally { in.close(); } } }
@Test public void testInitialize_InputStream_File() throws Exception { final File file = new File("target/test-classes/log4j2-config.xml"); final InputStream is = new FileInputStream(file); final ConfigurationSource source = new ConfigurationSource(is, file); ctx = Configurator.initialize(null, source); LogManager.getLogger("org.apache.test.TestConfigurator"); Configuration config = ctx.getConfiguration(); assertNotNull("No configuration", config); assertEquals("Incorrect Configuration.", CONFIG_NAME, config.getName()); final Map<String, Appender> map = config.getAppenders(); assertNotNull("Appenders map should not be null.", map); assertThat(map, hasSize(greaterThan(0))); assertThat("Wrong configuration", map, hasKey("List")); Configurator.shutdown(ctx); config = ctx.getConfiguration(); assertEquals("Unexpected Configuration.", NullConfiguration.NULL_NAME, config.getName()); }
String log4jConfigFile = System.getProperty("user.dir") + File.separator + "log4j2.xml"; ConfigurationSource source = new ConfigurationSource(new FileInputStream(log4jConfigFile)); Configurator.initialize(null, source);
@Test public void testInitialize_NullClassLoader_ConfigurationSourceWithInputStream_NoId() throws Exception { final InputStream is = new FileInputStream("target/test-classes/log4j2-config.xml"); final ConfigurationSource source = new ConfigurationSource(is); ctx = Configurator.initialize(null, source); LogManager.getLogger("org.apache.test.TestConfigurator"); Configuration config = ctx.getConfiguration(); assertNotNull("No configuration", config); assertEquals("Incorrect Configuration.", CONFIG_NAME, config.getName()); final Map<String, Appender> map = config.getAppenders(); assertNotNull("Appenders map should not be null.", map); assertThat(map, hasSize(greaterThan(0))); assertThat("Wrong configuration", map, hasKey("List")); Configurator.shutdown(ctx); config = ctx.getConfiguration(); assertEquals("Unexpected Configuration.", NullConfiguration.NULL_NAME, config.getName()); }
/** * Returns a new {@code ConfigurationSource} whose input stream is reset to the beginning. * * @return a new {@code ConfigurationSource} * @throws IOException if a problem occurred while opening the new input stream */ public ConfigurationSource resetInputStream() throws IOException { if (file != null) { return new ConfigurationSource(new FileInputStream(file), file); } else if (url != null) { return new ConfigurationSource(url.openStream(), url); } else { return new ConfigurationSource(data); } }
private ConfigurationSource getConfigurationSource(URL url) throws IOException { InputStream stream = url.openStream(); if (FILE_PROTOCOL.equals(url.getProtocol())) { return new ConfigurationSource(stream, ResourceUtil.getFile(url)); } return new ConfigurationSource(stream, url); }
@Nonnull protected ConfigurationSource createConfigurationSourceFor(@SuppressWarnings("UnusedParameters") @Nonnull Log4J2BasedLoggingEnvironmentConfiguration requirement, @Nonnull InputStream is) throws IOException { return new ConfigurationSource(is); }
import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.ConfigurationSource; import org.apache.logging.log4j.core.config.Configurator; // Content of log4j2.xml String log4j2xmlFileContent = getLog4j2xmlContent(); // convert String into InputStream InputStream is = new ByteArrayInputStream(log4j2xmlFileContent.getBytes()); try { ConfigurationSource source = new ConfigurationSource(is); return Configurator.initialize(null, source); } catch (IOException e) { e.printStackTrace(); } return null;
String log4j2xmlFileContent=getLog4j2xmlContent();//Content of my log4j2.xml // convert String into InputStream InputStream is = new ByteArrayInputStream(log4j2xmlFileContent.getBytes()); ConfigurationSource source=null; try{ source = new ConfigurationSource(is); } catch (IOException ioe){ ioe.printStackTrace(); } Configuration config = org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory.getInstance().getConfiguration(source); loggerContext = (LoggerContext) LogManager.getContext(); try { //loggerContext.stop(); loggerContext.start(config); } catch (Exception e){ e.printStackTrace(); } return loggerContext;
ConfigurationSource source = new ConfigurationSource(new FileInputStream(log4j file Path)); XmlConfiguration xmlConfig = new XmlConfiguration(source); Logger logger = (Logger) LogManager.getLogger(); logger.getContext().start(xmlConfig);
/** * Gets the refresh interval in seconds from the Log4J XML configuration. * * @param xmlConfigurationString the XML configuration. * * @return the refresh interval in seconds. * @throws IOException if there were any errors parsing the configuration file. */ private int getRefreshIntervalSeconds(String xmlConfigurationString) throws IOException { // Create the Log4J configuration object from the configuration string and get the refresh interval in seconds from the configuration. XmlConfiguration xmlConfiguration = new XmlConfiguration(loggerContext, new ConfigurationSource(new ByteArrayInputStream(xmlConfigurationString.getBytes(StandardCharsets.UTF_8)))); return xmlConfiguration.getWatchManager().getIntervalSeconds(); }
/** * Gets the refresh interval in seconds from the Log4J XML configuration. * * @param xmlConfigurationString the XML configuration. * * @return the refresh interval in seconds. * @throws IOException if there were any errors parsing the configuration file. */ private int getRefreshIntervalSeconds(String xmlConfigurationString) throws IOException { // Create the Log4J configuration object from the configuration string and get the refresh interval in seconds from the configuration. XmlConfiguration xmlConfiguration = new XmlConfiguration(loggerContext, new ConfigurationSource(new ByteArrayInputStream(xmlConfigurationString.getBytes(StandardCharsets.UTF_8)))); return xmlConfiguration.getWatchManager().getIntervalSeconds(); }
protected void initLog(Config config) throws IOException { File logFile = config.getLogConfigurationFile(); Preconditions.checkState(logFile.exists(), "Log config file %s does not exist.", logFile); log.debug(String.format("%s Loading log configuration from %s", ApplicationBoot.BOOT_LOG_PREFIX, logFile)); List<String> configLines = Files.readAllLines(logFile.toPath(), StandardCharsets.UTF_8); List<String> finalLogConfigurationProperties = ApplicationConfiguration.loadProperties(configLines, config.get()); StringBuilder finalConfiguration = new StringBuilder(); for (String finalLogConfigurationProperty : finalLogConfigurationProperties) { finalConfiguration.append(finalLogConfigurationProperty).append("\n"); } try (ByteArrayInputStream inputStream = new ByteArrayInputStream(finalConfiguration.toString().getBytes(StandardCharsets.UTF_8))) { Configurator.initialize(null, new ConfigurationSource(inputStream)); } log = LogManager.getLogger(getClass()); log.debug(String.format("%s Final log configuration done with file %s", ApplicationBoot.BOOT_LOG_PREFIX, logFile)); }
ConfigurationSource source = new ConfigurationSource(); source.setLocation(logConfigurationFile); source.setFile(new File(logConfigurationFile)); source.setInputStream(new FileInputStream(logConfigurationFile)); Configurator.initialize(null, source);
@Override public void setConfigLocationUri(final String configLocation) throws URISyntaxException, IOException { if (configLocation == null || configLocation.isEmpty()) { throw new IllegalArgumentException("Missing configuration location"); } LOGGER.debug("---------"); LOGGER.debug("Remote request to reconfigure using location " + configLocation); final File configFile = new File(configLocation); ConfigurationSource configSource = null; if (configFile.exists()) { LOGGER.debug("Opening config file {}", configFile.getAbsolutePath()); configSource = new ConfigurationSource(new FileInputStream(configFile), configFile); } else { final URL configURL = new URL(configLocation); LOGGER.debug("Opening config URL {}", configURL); configSource = new ConfigurationSource(configURL.openStream(), configURL); } final Configuration config = ConfigurationFactory.getInstance().getConfiguration(loggerContext, configSource); loggerContext.start(config); LOGGER.debug("Completed remote request to reconfigure."); }
@BeforeClass public static void staticSetup() throws IOException{ //Configure Log4j2 ConfigurationSource source = new ConfigurationSource(ClassLoader.getSystemResource("test-log4j2.xml").openStream()); Configurator.initialize(null, source); }
@BeforeClass public static void staticSetup() throws IOException{ //Configure Log4j2 ConfigurationSource source = new ConfigurationSource(ClassLoader.getSystemResource("test-log4j2.xml").openStream()); Configurator.initialize(null, source); }
@Override public void setConfigText(final String configText, final String charsetName) { LOGGER.debug("---------"); LOGGER.debug("Remote request to reconfigure from config text."); try { final InputStream in = new ByteArrayInputStream(configText.getBytes(charsetName)); final ConfigurationSource source = new ConfigurationSource(in); final Configuration updated = ConfigurationFactory.getInstance().getConfiguration(loggerContext, source); loggerContext.start(updated); LOGGER.debug("Completed remote request to reconfigure from config text."); } catch (final Exception ex) { final String msg = "Could not reconfigure from config text"; LOGGER.error(msg, ex); throw new IllegalArgumentException(msg, ex); } }
@BeforeClass public static void staticSetup() throws IOException{ //Configure Log4j2 ConfigurationSource source = new ConfigurationSource(ClassLoader.getSystemResource("test-log4j2.xml").openStream()); Configurator.initialize(null, source); List<ModuleElementDefinition> definitions = new ArrayList<>(); definitions.add(new MockDataSourceDefinition()); addModule("BaseTest", definitions); }