Joe Merten created LOG4J2-952:
---------------------------------

             Summary: 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

Reply via email to