Search in sources :

Example 1 with JMXConfiguratorMBean

use of ch.qos.logback.classic.jmx.JMXConfiguratorMBean in project cassandra by apache.

the class StorageService method setLoggingLevel.

public void setLoggingLevel(String classQualifier, String rawLevel) throws Exception {
    ch.qos.logback.classic.Logger logBackLogger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(classQualifier);
    // if both classQualifer and rawLevel are empty, reload from configuration
    if (StringUtils.isBlank(classQualifier) && StringUtils.isBlank(rawLevel)) {
        JMXConfiguratorMBean jmxConfiguratorMBean = JMX.newMBeanProxy(ManagementFactory.getPlatformMBeanServer(), new ObjectName("ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator"), JMXConfiguratorMBean.class);
        jmxConfiguratorMBean.reloadDefaultConfiguration();
        return;
    } else // classQualifer is set, but blank level given
    if (StringUtils.isNotBlank(classQualifier) && StringUtils.isBlank(rawLevel)) {
        if (logBackLogger.getLevel() != null || hasAppenders(logBackLogger))
            logBackLogger.setLevel(null);
        return;
    }
    ch.qos.logback.classic.Level level = ch.qos.logback.classic.Level.toLevel(rawLevel);
    logBackLogger.setLevel(level);
    logger.info("set log level to {} for classes under '{}' (if the level doesn't look like '{}' then the logger couldn't parse '{}')", level, classQualifier, rawLevel, rawLevel);
}
Also used : JMXConfiguratorMBean(ch.qos.logback.classic.jmx.JMXConfiguratorMBean) Logger(org.slf4j.Logger)

Aggregations

JMXConfiguratorMBean (ch.qos.logback.classic.jmx.JMXConfiguratorMBean)1 Logger (org.slf4j.Logger)1