[ https://issues.apache.org/jira/browse/LOG4J2-952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joe Merten updated LOG4J2-952: ------------------------------ Description: I found [this link|http://logging.apache.org/log4j/2.x/faq.html#config_from_code] which said: {quote} You could use the static method #initialize(String contextName, ClassLoader loader, String configLocation) in org.apache.logging.log4j.core.config.Configurator. (You can pass null for the class loader.) Be aware that this class is not part of the public API so your code may break with any minor release. {quote} This documentation is unclear because it points to a member function which needs a filename {{configLocation}} where as the topic is »without a configuration file«. It shoud rather point to the member function {{org.apache.logging.log4j.core.config.Configurator.initialize(ClassLoader loader, ConfigurationSource source)}}. Example: {code:java} import org.apache.logging.log4j.core.config.ConfigurationSource; import org.apache.logging.log4j.core.config.Configurator; final String hardCodedXmlConfig = "<?xml version='1.0' encoding='UTF-8'?>\n" + "<Configuration status='INFO'>\n" + " <Appenders>\n" + " <Console name='Console' target='SYSTEM_OUT'>\n" + " <PatternLayout pattern='%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n'/>\n" + " </Console>\n" + " </Appenders>\n" + " <Loggers>\n" + " <Root level='debug'>\n" + " <AppenderRef ref='Console'/>\n" + " </Root>\n" + " </Loggers>\n" + "</Configuration>\n"; try { Configurator.initialize(null, new ConfigurationSource( new ByteArrayInputStream(hardCodedXmlConfig.getBytes()))); } catch (IOException e) { e.printStackTrace(); } {code} was: I found [this link|http://logging.apache.org/log4j/2.x/faq.html#config_from_code] which said: {quote} You could use the static method #initialize(String contextName, ClassLoader loader, String configLocation) in org.apache.logging.log4j.core.config.Configurator. (You can pass null for the class loader.) Be aware that this class is not part of the public API so your code may break with any minor release. {quote} This documentation is unclear because it points to a member function which needs a filename {{configLocation}} where as the topic is »without a configuration file«. It shoud rather point to the member function {{org.apache.logging.log4j.core.config.Configurator.initialize(ClassLoader loader, ConfigurationSource source)}}. Example: {code:java} import org.apache.logging.log4j.core.config.ConfigurationSource; import org.apache.logging.log4j.core.config.Configurator; final String hardCodedXmlConfig = "<?xml version='1.0' encoding='UTF-8'?>\n" + "<Configuration status='INFO'>\n" + " <Appenders>\n" + " <Console name='Console' target='SYSTEM_OUT'>\n" + " <PatternLayout pattern='%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n'/>\n" + " </Console>\n" + " </Appenders>\n" + " <Loggers>\n" + " <Root level='debug'>\n" + " <AppenderRef ref='Console'/>\n" + " </Root>\n" + " </Loggers>\n" + "</Configuration>\n"; try { Configurator.initialize(null, new ConfigurationSource(new ByteArrayInputStream(hardCodedXmlConfig.getBytes()))); } catch (IOException e) { e.printStackTrace(); } {code} > FAQ: How do I configure log4j2 programmatically in code without a > configuration file? > ------------------------------------------------------------------------------------- > > Key: LOG4J2-952 > URL: https://issues.apache.org/jira/browse/LOG4J2-952 > Project: Log4j 2 > Issue Type: Bug > Components: API, Configurators, Documentation > Affects Versions: 2.1 > Reporter: Joe Merten > > I found [this > link|http://logging.apache.org/log4j/2.x/faq.html#config_from_code] which > said: > {quote} > You could use the static method #initialize(String contextName, ClassLoader > loader, String configLocation) in > org.apache.logging.log4j.core.config.Configurator. (You can pass null for the > class loader.) Be aware that this class is not part of the public API so your > code may break with any minor release. > {quote} > This documentation is unclear because it points to a member function which > needs a filename {{configLocation}} where as the topic is »without a > configuration file«. > It shoud rather point to the member function > {{org.apache.logging.log4j.core.config.Configurator.initialize(ClassLoader > loader, ConfigurationSource source)}}. > Example: > {code:java} > import org.apache.logging.log4j.core.config.ConfigurationSource; > import org.apache.logging.log4j.core.config.Configurator; > final String hardCodedXmlConfig = > "<?xml version='1.0' encoding='UTF-8'?>\n" + > "<Configuration status='INFO'>\n" + > " <Appenders>\n" + > " <Console name='Console' target='SYSTEM_OUT'>\n" + > " <PatternLayout pattern='%d{HH:mm:ss.SSS} [%t] %-5level > %logger{36} - %msg%n'/>\n" + > " </Console>\n" + > " </Appenders>\n" + > " <Loggers>\n" + > " <Root level='debug'>\n" + > " <AppenderRef ref='Console'/>\n" + > " </Root>\n" + > " </Loggers>\n" + > "</Configuration>\n"; > try { > Configurator.initialize(null, new ConfigurationSource( > new > ByteArrayInputStream(hardCodedXmlConfig.getBytes()))); > } catch (IOException e) { > e.printStackTrace(); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org