All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.kaitoy.sneo.log.LoggerManager Maven / Gradle / Ivy

/*_##########################################################################
  _##
  _##  Copyright (C) 2011  Kaito Yamada
  _##
  _##########################################################################
*/

package com.github.kaitoy.sneo.log;

import java.util.Iterator;
import java.util.SortedMap;
import java.util.TreeMap;
import org.snmp4j.log.LogAdapter;
import org.snmp4j.log.LogFactory;
import org.snmp4j.log.LogLevel;

public final class LoggerManager {

  private static final LoggerManager INSTANCE = new LoggerManager();

  private LoggerManager() {}

  public static LoggerManager getInstance() {
    return INSTANCE;
  }

  public SortedMap getLoggers() {
    SortedMap logLevelOfLogger
      = new TreeMap();

    for (
      @SuppressWarnings("unchecked") Iterator it
        = LogFactory.getLogFactory().loggers();
      it.hasNext();
    ) {
      LogAdapter logger = it.next();
      logLevelOfLogger.put(
        logger.getName(),
        logger.getLogLevel() + "(" + logger.getEffectiveLogLevel() + ")"
      );
    }

    LogAdapter rootLogger = LogFactory.getLogFactory().getRootLogger();
    logLevelOfLogger.put(
      rootLogger.getName(),
      rootLogger.getLogLevel() + "(" + rootLogger.getEffectiveLogLevel() + ")"
    );

    return logLevelOfLogger;
  }

  public void setLogLevel(String logger, String level) {
    if (logger.equals("root")) {
      LogFactory.getLogFactory().getRootLogger().setLogLevel(new LogLevel(level));
    }
    else {
      LogFactory.getLogger(logger).setLogLevel(new LogLevel(level));
    }
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy