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

Volkan Yazici commented on LOG4J2-3031:
---------------------------------------

[~xenoterracide], were you able to solve your problem?

> Doc/Bug?/Feature: code configuration better
> -------------------------------------------
>
>                 Key: LOG4J2-3031
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3031
>             Project: Log4j 2
>          Issue Type: Improvement
>            Reporter: Caleb Cushing
>            Priority: Major
>
> I've had nothing but problems trying to get the code configuration working. I 
> hate the `ConfigurationBuilder` API, it's easier to get wrong, but I couldn't 
> get the "Modifying the Current Configuration after Initialization" API 
> working. I wish that one would support all the same initial configuration use 
> case (feature, I can write a separate ticket if you want).
> First, there's this question https://stackoverflow.com/q/65194471/206466
> ```java
> private static void configureLog4j(Level rootLevel, Map<String, Level> 
> levelMap) {
>     var pattern = PatternLayout.newBuilder().withPattern( "%highlight{[%t] 
> %-5level: %msg%n%throwable}\n" ).build();
>     var console = ConsoleAppender.createDefaultAppenderForLayout( pattern );
>     var config = LoggerContext.getContext().getConfiguration();
>     config.addAppender( console );
>     var root = config.getRootLogger();
>     for ( var appenderRef : root.getAppenderRefs() ) {
>       root.removeAppender( appenderRef.getRef() );
>     }
>     root.addAppender( console, rootLevel, null );
>     Configurator.setRootLevel( rootLevel );
>     Configurator.setLevel( levelMap );
>     Configurator.reconfigure(config);
>   }
> ```
> ended up using the other API and it worked, though I would much rather use 
> this one, as it doesn't require stringy representations.
> Next, I tried setting up a `patternSelector` for the root appender in another 
> project using the `ConfigurationBuilder`, I had no luck figuring that out, it 
> simply seemed not to use what I put in. Is this maybe a bug? I can add code 
> for what I tried here later.
> P.S. I want you to know about [this 
> bug](https://github.com/gradle/gradle/issues/16366), but I doubt it belongs 
> to log4j, but maybe you know something. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to