[ 
https://issues.apache.org/jira/browse/LOG4J2-3421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17499515#comment-17499515
 ] 

Gary D. Gregory commented on LOG4J2-3421:
-----------------------------------------

[~sovikstepan] 

Thank you for this report.

Would you provide a PR on the github branch release-2.x?

> Programmatic Configuration
> --------------------------
>
>                 Key: LOG4J2-3421
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3421
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Configuration, Documentation
>    Affects Versions: 2.17.1
>            Reporter: Štěpán Sovík
>            Priority: Major
>
> The documentation provided here: 
> [https://logging.apache.org/log4j/2.x/manual/customconfig.html] contains 
> plenty of 'code snippets' that are using deprecated API, non-compilable 
> issues ... and even when one fixes all, it still doesn't work.
> Documentation issues need to be fixed and documentation updated so it's 
> obvious how it should actually work.
> Just some examples:
>  
> {code:java}
>     public Configuration getConfiguration(InputSource source) {        return 
> new MyXMLConfiguration(source, configFile);    } {code}
> Where the configFile comes from??
>  
>  
> {code:java}
>     @Override    protected void doConfigure() {        super.doConfigure();   
>      final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);  
>       final Configuration config = context.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);        LoggerConfig loggerConfig = 
> LoggerConfig.createLogger("false", "info", "org.apache.logging.log4j",        
>       "true", refs, null, config, null );        
> loggerConfig.addAppender(appender, null, null);        
> addLogger("org.apache.logging.log4j", loggerConfig);    } {code}
> Where the refs come from??
>  
>  
> {code:java}
> final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
> final Configuration config = context.getConfiguration(); {code}
> Really? No one was doing some kind of review on this?? Code snippets were 
> done in plain text editors?
>  
> {code:java}
>         LoggerConfig loggerConfig = LoggerConfig.createLogger("false", 
> "info", "org.apache.logging.log4j",
>             "true", refs, null, config, null ); {code}
> Come on! This cannot be even compiled ... because "{_}The method 
> createLogger(String, Level, String, String, AppenderRef[], Property[], 
> Configuration, Filter) in the type LoggerConfig is not applicable for the 
> arguments (String, String, String, String, AppenderRef[], null, 
> Configuration, null){_}"
> I've never seen such a badly documented feature before.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to