Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.1
-
None
Description
I found this link which said:
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.
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:
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(); }
Attachments
Attachments
Issue Links
- supercedes
-
LOG4J2-648 Support a programmatic DSL for configuration.
- Closed