Pushed to Git master.

Xen: Please see the setLevel methods in Configurator.

Gary

On Sat, Aug 8, 2015 at 4:24 PM, Gary Gregory <[email protected]> wrote:

> Please see the patch in https://issues.apache.org/jira/browse/LOG4J2-1090
>
> Gary
>
> On Sat, Aug 8, 2015 at 4:05 PM, Ralph Goers <[email protected]>
> wrote:
>
>> Yes.
>>
>> Ralph
>>
>> > On Aug 8, 2015, at 4:03 PM, Gary Gregory <[email protected]>
>> wrote:
>> >
>> > That's my bad, I misread Configurator for Configuration.
>> >
>> > That said, the
>> > method
>> org.apache.logging.log4j.core.config.AbstractConfiguration.getRootLogger()
>> > is not in the Configuration interface. Is it OK to add it?
>> >
>> > Gary
>> >
>> > On Sat, Aug 8, 2015 at 3:42 PM, Ralph Goers <[email protected]
>> >
>> > wrote:
>> >
>> >> I just noticed you added this to AbstractConfiguration. Wouldn’t it be
>> >> easier for users to do it as a method on Configurator?
>> >>
>> >> Ralph
>> >>
>> >>> On Aug 8, 2015, at 12:55 PM, Gary Gregory <[email protected]>
>> >> wrote:
>> >>>
>> >>> setLevel, setRootLevel; code review please, note the added check " if
>> >>> (!loggerConfig.getLevel().equals(level)) ..."
>> >>>
>> >>> diff --git
>> >>>
>> >>
>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
>> >>>
>> >>
>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
>> >>> index ada5900..7ee09ca 100644
>> >>> ---
>> >>>
>> >>
>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
>> >>> +++
>> >>>
>> >>
>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
>> >>> @@ -39,6 +39,7 @@
>> >>> import org.apache.logging.log4j.core.Filter;
>> >>> import org.apache.logging.log4j.core.Layout;
>> >>> import org.apache.logging.log4j.core.LogEvent;
>> >>> +import org.apache.logging.log4j.core.LoggerContext;
>> >>> import org.apache.logging.log4j.core.appender.AsyncAppender;
>> >>> import org.apache.logging.log4j.core.appender.ConsoleAppender;
>> >>> import org.apache.logging.log4j.core.async.AsyncLoggerConfig;
>> >>> @@ -829,4 +830,23 @@
>> >>>        return buffer.toByteArray();
>> >>>    }
>> >>>
>> >>> +    @Override
>> >>> +    public void setLevel(final String loggerName, final Level level)
>> {
>> >>> +        setLevel(getLoggerConfig(loggerName), level);
>> >>> +    }
>> >>> +
>> >>> +    @Override
>> >>> +    public void setRootLevel(final Level level) {
>> >>> +        setLevel(getRootLogger(), level);
>> >>> +    }
>> >>> +
>> >>> +    private void setLevel(final LoggerConfig loggerConfig, final
>> Level
>> >>> level) {
>> >>> +        if (!loggerConfig.getLevel().equals(level)) {
>> >>> +            loggerConfig.setLevel(level);
>> >>> +            final LoggerContext loggerContext = (LoggerContext)
>> >>> LogManager.getContext(false);
>> >>> +            loggerContext.updateLoggers();
>> >>> +        }
>> >>> +    }
>> >>> +
>> >>> +
>> >>> }
>> >>> diff --git
>> >>>
>> >>
>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configuration.java
>> >>>
>> >>
>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configuration.java
>> >>> index c592b05..29fb7b2 100644
>> >>> ---
>> >>>
>> >>
>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configuration.java
>> >>> +++
>> >>>
>> >>
>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configuration.java
>> >>> @@ -137,4 +137,18 @@
>> >>>     * @return the custom levels defined in the current configuration
>> >>>     */
>> >>>    List<CustomLevelConfig> getCustomLevels();
>> >>> +
>> >>> +    /**
>> >>> +     * Sets the level of the given logger name.
>> >>> +     *
>> >>> +     * @param loggerName the logger name
>> >>> +     * @param level the new level
>> >>> +     */
>> >>> +    void setLevel(String loggerName, Level level);
>> >>> +
>> >>> +    /**
>> >>> +     * Sets the level of the root logger.
>> >>> +     * @param level the new level
>> >>> +     */
>> >>> +    void setRootLevel(Level level);
>> >>> }
>> >>>
>> >>> Gary
>> >>>
>> >>> On Sat, Aug 8, 2015 at 11:14 AM, Ralph Goers <
>> [email protected]
>> >>>
>> >>> wrote:
>> >>>
>> >>>> Yup.
>> >>>>
>> >>>> And while your at it you might want to add setRootLevel(Level level);
>> >>>>
>> >>>> Ralph
>> >>>>
>> >>>>> On Aug 8, 2015, at 10:19 AM, Gary Gregory <[email protected]>
>> >>>> wrote:
>> >>>>>
>> >>>>> Like this:
>> >>>>>
>> >>>>> diff --git
>> >>>>>
>> >>>>
>> >>
>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
>> >>>>>
>> >>>>
>> >>
>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
>> >>>>> index ada5900..bf01c3e 100644
>> >>>>> ---
>> >>>>>
>> >>>>
>> >>
>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
>> >>>>> +++
>> >>>>>
>> >>>>
>> >>
>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
>> >>>>> @@ -39,6 +39,7 @@
>> >>>>> import org.apache.logging.log4j.core.Filter;
>> >>>>> import org.apache.logging.log4j.core.Layout;
>> >>>>> import org.apache.logging.log4j.core.LogEvent;
>> >>>>> +import org.apache.logging.log4j.core.LoggerContext;
>> >>>>> import org.apache.logging.log4j.core.appender.AsyncAppender;
>> >>>>> import org.apache.logging.log4j.core.appender.ConsoleAppender;
>> >>>>> import org.apache.logging.log4j.core.async.AsyncLoggerConfig;
>> >>>>> @@ -788,6 +789,13 @@
>> >>>>>      return list;
>> >>>>>  }
>> >>>>>
>> >>>>> +    public void setLevel(String loggerName, Level level) {
>> >>>>> +        LoggerConfig loggerConfig = getLoggerConfig(loggerName);
>> >>>>> +        loggerConfig.setLevel(level);
>> >>>>> +        final LoggerContext loggerContext = (LoggerContext)
>> >>>>> LogManager.getContext(false);
>> >>>>> +        loggerContext.updateLoggers();
>> >>>>> +    }
>> >>>>> +
>> >>>>>  private void setParents() {
>> >>>>>       for (final Map.Entry<String, LoggerConfig> entry :
>> >>>>> loggers.entrySet()) {
>> >>>>>          final LoggerConfig logger = entry.getValue();
>> >>>>>
>> >>>>> ?
>> >>>>>
>> >>>>> On Fri, Aug 7, 2015 at 5:43 AM, Ralph Goers <
>> >> [email protected]>
>> >>>>> wrote:
>> >>>>>
>> >>>>>> I'd recommend the Configurator class.
>> >>>>>>
>> >>>>>> Ralph
>> >>>>>>
>> >>>>>>> On Aug 6, 2015, at 9:46 PM, Gary Gregory <[email protected]>
>> >>>> wrote:
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> For the simple case where you want to update one level, I think we
>> >>>> should
>> >>>>>>> have a one method call for folks. Where would be the best place to
>> >> hang
>> >>>>>>> that?
>> >>>>>>>
>> >>>>>>> Gary
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> ---------------------------------------------------------------------
>> >>>>>> To unsubscribe, e-mail: [email protected]
>> >>>>>> For additional commands, e-mail:
>> [email protected]
>> >>>>>>
>> >>>>>>
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> E-Mail: [email protected] | [email protected]
>> >>>>> Java Persistence with Hibernate, Second Edition
>> >>>>> <http://www.manning.com/bauer3/>
>> >>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> >>>>> Spring Batch in Action <http://www.manning.com/templier/>
>> >>>>> Blog: http://garygregory.wordpress.com
>> >>>>> Home: http://garygregory.com/
>> >>>>> Tweet! http://twitter.com/GaryGregory
>> >>>>
>> >>>>
>> >>>>
>> >>>> ---------------------------------------------------------------------
>> >>>> To unsubscribe, e-mail: [email protected]
>> >>>> For additional commands, e-mail: [email protected]
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>> --
>> >>> E-Mail: [email protected] | [email protected]
>> >>> Java Persistence with Hibernate, Second Edition
>> >>> <http://www.manning.com/bauer3/>
>> >>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> >>> Spring Batch in Action <http://www.manning.com/templier/>
>> >>> Blog: http://garygregory.wordpress.com
>> >>> Home: http://garygregory.com/
>> >>> Tweet! http://twitter.com/GaryGregory
>> >>
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: [email protected]
>> >> For additional commands, e-mail: [email protected]
>> >>
>> >>
>> >
>> >
>> > --
>> > E-Mail: [email protected] | [email protected]
>> > Java Persistence with Hibernate, Second Edition
>> > <http://www.manning.com/bauer3/>
>> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> > Spring Batch in Action <http://www.manning.com/templier/>
>> > Blog: http://garygregory.wordpress.com
>> > Home: http://garygregory.com/
>> > Tweet! http://twitter.com/GaryGregory
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
> --
> E-Mail: [email protected] | [email protected]
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
E-Mail: [email protected] | [email protected]
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to