Package org.maltparserx.core.helper

Source Code of org.maltparserx.core.helper.SystemLogger

package org.maltparserx.core.helper;

import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;

/**
*
*
* @author Johan Hall
*/
public class SystemLogger {
  private static SystemLogger uniqueInstance = new SystemLogger();
  private static Logger systemLogger;
  private Level systemVerbosityLevel;
  private ConsoleAppender consoleAppender;
 
  private SystemLogger() {
    systemLogger = Logger.getLogger("System");
    /* System verbosity (Standard Out) */
    consoleAppender = new ConsoleAppender(new PatternLayout("%m"), ConsoleAppender.SYSTEM_ERR);
    consoleAppender.setEncoding("UTF-16");
    systemLogger.addAppender(consoleAppender);
    if (System.getProperty("Malt.verbosity") != null) {
      setSystemVerbosityLevel(System.getProperty("Malt.verbosity").toUpperCase());
    } else {
      setSystemVerbosityLevel("INFO");
    }
  }
 
  /**
  * Returns a reference to the single instance.
  */
  public static SystemLogger instance() {
    return uniqueInstance;
  }
 
  /**
  * Returns a reference to the Logger.
  */
  public static Logger logger() {
    return systemLogger;
  }
 
  /**
   * Returns the system verbosity level
   *
   * @return the system verbosity level
   */
  public Level getSystemVerbosityLevel() {
    return systemVerbosityLevel;
  }

  /**
   * Sets the system verbosity level
   *
   * @param verbosity  a system verbosity level
   */
  public void setSystemVerbosityLevel(String verbosity) {
    this.systemVerbosityLevel = Level.toLevel(verbosity, Level.INFO);
    consoleAppender.setThreshold(systemVerbosityLevel);
    systemLogger.setLevel(systemVerbosityLevel);
  }
}
TOP

Related Classes of org.maltparserx.core.helper.SystemLogger

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.