package com.caucho.netbeans; import org.openide.ErrorManager; import java.io.IOException; import java.util.logging.Level; import java.util.logging.LogManager; public class PluginLogger { private final ErrorManager _errorManager; private static final boolean _isDebug = true; public PluginLogger(Class<?> cl) { String name = cl.getName(); _errorManager = ErrorManager.getDefault().getInstance(name); } public void log(Level level, String msg) { _errorManager.log(getLevel(level), msg); } public void log(Level level, Throwable t) { _errorManager.notify(getLevel(level), t); } private int getLevel(Level level) { if (level.intValue() >= Level.SEVERE.intValue()) return ErrorManager.ERROR; else if (level.intValue() >= Level.WARNING.intValue()) return ErrorManager.EXCEPTION; else if (level.intValue() >= Level.INFO.intValue()) return ErrorManager.USER; else return ErrorManager.INFORMATIONAL; } public boolean isLoggable(Level level) { return _errorManager.isLoggable(getLevel(level)); } static { if (_isDebug) { System.setProperty("com.caucho.level", "0"); try { LogManager.getLogManager().readConfiguration(); } catch (IOException e) { // no-op } } } }