[ https://issues.apache.org/jira/browse/LOG4J2-952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14695431#comment-14695431 ]
Mikael Ståldal edited comment on LOG4J2-952 at 8/13/15 4:03 PM: ---------------------------------------------------------------- BTW, we could make the XML literal approach a bit easier by adding a String constructor to {{ConfigurationSource}} (not throwing {{IOException}}), and a new overloaded {{Configurator.initialize(ConfigurationSource)}} so that you can do like this: {code} String hardCodedXmlConfig = "..."; Configurator.initialize(new ConfigurationSource(hardCodedXmlConfig)); {code} was (Author: mikaelstaldal): BTW, we could make the XML literal approach a bit easier by adding a String constructor to {{ConfigurationSource}} (not throwing {{IOException}}, and a new overloaded {{Configurator.initialize(ConfigurationSource)}} so that you can do like this: {code} String hardCodedXmlConfig = "..."; Configurator.initialize(new ConfigurationSource(hardCodedXmlConfig)); {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