[
https://issues.apache.org/jira/browse/LOG4J2-3429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17503099#comment-17503099
]
Fredrick Eisele edited comment on LOG4J2-3429 at 3/8/22, 6:11 PM:
------------------------------------------------------------------
I have made [a pull request|https://github.com/apache/logging-log4j2/pull/788]
for this.
was (Author: phreed):
I have made [https://github.com/apache/logging-log4j2/pull/788|a pull request]
for this.
> Code Sample for Custom Config has Syntax Errors
> -----------------------------------------------
>
> Key: LOG4J2-3429
> URL: https://issues.apache.org/jira/browse/LOG4J2-3429
> Project: Log4j 2
> Issue Type: Documentation
> Components: Reconfiguration
> Affects Versions: 2.17.2
> Reporter: Fredrick Eisele
> Priority: Major
> Labels: configuration, programmatically
>
> [https://logging.apache.org/log4j/2.x/manual/customconfig.html#Hybrid]
> The sample has several syntax errors.
> Some of these errors are due to an older API and some are more trivial errors.
> The following fragment corrects the more critical of these errors.
> Should I also make a pull request in github?
> {code:java}
> @Plugin(name = "MyXMLConfigurationFactory", category = "ConfigurationFactory")
> @Order(10)
> public class MyXMLConfigurationFactory extends ConfigurationFactory {
> /**
> * Valid file extensions for XML files.
> */
> public static final String[] SUFFIXES = new String[] {".xml", "*"};
> /**
> * Return the Configuration.
> * @param source The InputSource.
> * @return The Configuration.
> */
> @Override
> public Configuration getConfiguration(LoggerContext loggerContext,
> ConfigurationSource source) {
> return new MyXMLConfiguration(loggerContext, source);
> }
> /**
> * Returns the file suffixes for XML files.
> * @return An array of File extensions.
> */
> public String[] getSupportedTypes() {
> return SUFFIXES;
> }
> }{code}
> {code:java}
> public class MyXMLConfiguration extends XmlConfiguration {
> public MyXMLConfiguration(LoggerContext loggerContext, ConfigurationSource
> configSource) {
> super(loggerContext, configSource);
> }
> @Override protected void doConfigure() {
> super.doConfigure();
> final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
> final Configuration config = ctx.getConfiguration();
> final Layout layout = PatternLayout.createDefaultLayout(config);
> final Appender appender = FileAppender.createAppender("target/test.log",
> "false", "false", "File", "true", "false", "false", "4000", layout, null,
> "false", null, config);
> appender.start(); addAppender(appender);
> AppenderRef[] refs = new AppenderRef[]
> {AppenderRef.createAppenderRef("File", null, null)};
> LoggerConfig loggerConfig = LoggerConfig.createLogger("false",
> Level.INFO, "org.apache.logging.log4j", "true", refs, null, config, null );
> loggerConfig.addAppender(appender, null, null);
> addLogger("org.apache.logging.log4j", loggerConfig);
> }
> }
> {code}
> This still has some deprecated API calls.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)