@ WriteOperation public void updateLoggerLevel ( @ Selector final String loggerName , final String loggerLevel , final boolean additive ) { val loggerConfigs = getLoggerConfigurations ( ) ; loggerConfigs . stream ( ) . filter ( cfg -> cfg . getName ( ) . equals ( loggerName ) ) . forEachOrdered ( cfg -> { cfg . setLevel ( Level . getLevel ( loggerLevel ) ) ; cfg . setAdditive ( additive ) ; } ) ; this . loggerContext . updateLoggers ( ) ; }
Looks up the logger in the logger factory and attempts to find the real logger instance based on the underlying logging framework and retrieve the logger object . Then updates the level . This functionality at this point is heavily dependant on the log4j API .