private String lookupLoggerLevel(String loggerName) { if (loggerName == null) { // check global and "" if (this.bean.getLoggerLevel("global").equals("")) { return this.bean.getLoggerLevel(""); } else { return this.bean.getLoggerLevel("global"); } } else { if (this.bean.getLoggerNames().contains(loggerName)) { String level = this.bean.getLoggerLevel(loggerName); if (level.equals("")) { // call again return lookupLoggerLevel(stripFqdn(loggerName)); } else { return level; } } else { // call again return lookupLoggerLevel(stripFqdn(loggerName)); } } }
public String getLoggerLevel(LoggingMXBean logging, String name) { String level = logging.getLoggerLevel(name); if (level != null) { String parentLoggerName = logging.getParentLoggerName(name); // A level of "" means the level is not explicitly specified, i.e. inherited from the logger's parent. // In this case, we want to recurse, unless the logger's parent is "", which means this is already the // root logger (recursing in this ununsual case would cause infinite recursion). if (level.equals("") && parentLoggerName != null && !parentLoggerName.equals("")) { level = getLoggerLevel(logging, parentLoggerName); // recurse } } else { level = "Pseudo"; // only needed for the compare in updateResourceConfiguration() below } return level; }
/** * Set logger level * * @param loggerName the name of the logger * @param levelName the level to set */ public static void setLoggerLevel(String loggerName, String levelName) { loggingMXBean.setLoggerLevel(loggerName, levelName); String checkValue = loggingMXBean.getLoggerLevel(loggerName); if (!checkValue.equals(levelName)) { log.error("Could not set logger level for logger '" + loggerName + "' to '" + levelName + "', got '" + checkValue + "' instead"); } }
public boolean addLogger(String name, Level level) { if (name == null) throw new NullPointerException("Logger name cant be null!!!"); if (this.bean.getLoggerNames().contains(name)) return false; Level toSetLevel = level; if (toSetLevel == null) toSetLevel = this.defaultLoggerLevel; Logger add = Logger.getLogger(name); add.setLevel(toSetLevel); return true; }
public String getLoggingReport() throws RuntimeException { try { StringBuilderNewLineAppender sb = new StringBuilderNewLineAppender(new StringBuilder()); LoggingMXBean lb = LogManager.getLoggingMXBean(); List<String> loggers = lb.getLoggerNames(); Collections.sort(loggers); String lf = System.getProperty("java.util.logging.config.file"); sb.append(sm.getString("logging.config.file", lf)); sb.append(sm.getString("reg.loggers", loggers.size())); sb.append(sm.getString("logger.details.1")); sb.append(sm.getString("logger.details.2")); sb.append(sm.getString("list.of.loggers")); sb.append("--------------------------------------------------"); for (String logger : loggers) { String ln = (logger == null) ? ANON_LOGGER : logger; String parent = lb.getParentLoggerName(logger); if (parent == null || parent.length() == 0) parent = ROOT_LOGGER; sb.append(ln + "|" + lb.getLoggerLevel(logger) + "|" + parent); } return (sb.toString()); } catch(Exception e) { throw new RuntimeException(e); } } }
public void resetLoggerLevel(String loggerName) { this.bean .setLoggerLevel(loggerName, this.defaultLoggerLevel.toString()); }
public void setUseParentHandlersFlag(String loggerName, boolean flag) { if (loggerName == null) throw new NullPointerException("Logger name cant be null!!!"); if (!this.bean.getLoggerNames().contains(loggerName)) throw new IllegalArgumentException( "Logger with this name does not exist!!!"); this.lManager.getLogger(loggerName).setUseParentHandlers(flag); }
List<String> loggers = loggingMXBean.getLoggerNames(); Collections.sort(loggers); for (String logger: loggers) { sb.append(INDENT1 + logger + ": level=" + loggingMXBean.getLoggerLevel(logger) + ", parent=" + loggingMXBean.getParentLoggerName(logger) + CRLF);
public void resetLoggerLevels() { this.bean.setLoggerLevel(_DEFAULT_MC_DOMAIN, this.defaultLoggerLevel .toString()); }
public int numberOfHandlers(String loggerName) throws NullPointerException, IllegalArgumentException { if (loggerName == null) throw new NullPointerException("Logger name cant be null!!!"); if (!this.bean.getLoggerNames().contains(loggerName)) throw new IllegalArgumentException( "Logger with this name does not exist!!!"); return this.lManager.getLogger(loggerName).getHandlers().length; }
for (String logger : LogManager.getLoggingMXBean().getLoggerNames()) { out.println("logger: \""+logger+"\" level \""+LogManager.getLoggingMXBean().getLoggerLevel(logger)+"\"");
/** * Note, this only supports editing existing appenders; adding or removing appenders is not supported, since the * underlying JVM mBean (LoggingMXBean) does not support it. * * @param report the report which will contain the results of the requested update */ @Override public void updateResourceConfiguration(ConfigurationUpdateReport report) { PropertyList list = report.getConfiguration().getList("AppenderList"); LoggingMXBean logging = getEmsBean().getProxy(LoggingMXBean.class); for (Property property : list.getList()) { PropertyMap map = (PropertyMap) property; String name = map.getSimple("name").getStringValue(); String level = map.getSimple("level").getStringValue(); if ((level != null) && !level.equals(getLoggerLevel(logging, name))) { try { logging.setLoggerLevel(name, level); } catch (IllegalArgumentException iae) { report.setErrorMessage("Error setting logger level: " + iae.getMessage()); } } } report.setStatus(ConfigurationUpdateStatus.SUCCESS); } }
public void setLoggerLevel(String loggerName, Level level) throws IllegalArgumentException { if (loggerName == null || level == null) throw new NullPointerException("Logger name cant be null!!!"); if (!this.bean.getLoggerNames().contains(loggerName)) throw new IllegalArgumentException( "Logger with this name does not exist!!!"); this.lManager.getLogger(loggerName).setLevel(level); }
private Handler getHandlerByIndex(String loggerName, int index) { if (loggerName == null) throw new NullPointerException("Logger name cant be null!!!"); if (!this.bean.getLoggerNames().contains(loggerName)) throw new IllegalArgumentException( "Logger with this name does not exist!!!"); Logger l = this.lManager.getLogger(loggerName); if (index < 0 || index >= l.getHandlers().length) throw new IllegalArgumentException( "Wrong index, either negative or overshoots handler array size!!!"); Handler h = l.getHandlers()[index]; return h; }
public List<String> getLoggerNames(String regex) { List<String> result = new ArrayList<String>(); boolean addAll = false; if (regex == null || regex.equals("")) addAll = true; for (String s : this.bean.getLoggerNames()) { if (!addAll && Pattern.matches(regex, s)) { result.add(s); } else if (addAll) { result.add(s); } } String[] o = result.toArray(new String[1]); Arrays.sort(o); List<String> tmpList = Arrays.asList(o); result.clear(); result.addAll(tmpList); result.remove(""); return result; }
public String getLoggerLevel(String loggerName) throws IllegalArgumentException { if (this.bean.getLoggerNames().contains(loggerName)) { // Here we have to check, if return value is "" we have to go up // logger tree // org.mobicents.tmp -> org.mobicents -> org -> global -> "" and // return something :... //return this.bean.getLoggerLevel(loggerName); return this.lookupLoggerLevel(loggerName); } else { throw new IllegalArgumentException("No logger under name[" + loggerName + "]"); } }
public boolean getUseParentHandlersFlag(String loggerName) { if (loggerName == null) throw new NullPointerException("Logger name cant be null!!!"); if (!this.bean.getLoggerNames().contains(loggerName)) throw new IllegalArgumentException( "Logger with this name does not exist!!!"); return this.lManager.getLogger(loggerName).getUseParentHandlers(); }
public List<String> getHandlerNamesForLogger(String loggerName) throws IllegalArgumentException { if (loggerName == null) throw new NullPointerException("Logger name cant be null!!!"); if (!this.bean.getLoggerNames().contains(loggerName)) throw new IllegalArgumentException( "Logger with this name does not exist!!!"); if (this.handlers.get(loggerName) == null) return new ArrayList<String>(); Logger l = this.lManager.getLogger(loggerName); ArrayList<String> result = new ArrayList<String>(); if (this.handlers.get(loggerName) == null) return result; for (int i = 0; i < l.getHandlers().length; i++) { String name = this.getHandlerName(loggerName, i); if (name != null) result.add(name); name = null; } if (result.size() != this.handlers.get(loggerName).keySet().size()) { // TODO: is this correct? this.handlers.get(loggerName).keySet().retainAll(result); } return result; }
throw new NullPointerException("Logger name cant be null!!!"); if (!this.bean.getLoggerNames().contains(loggerName)) throw new IllegalArgumentException( "Logger with this name does not exist!!!");
public String getLoggerFilterClassName(String loggerName) throws NullPointerException, IllegalArgumentException { if (this.bean.getLoggerNames().contains(loggerName)) { String ret = ""; if (this.lManager.getLogger(loggerName).getFilter() != null) ret = this.lManager.getLogger(loggerName).getFilter() .getClass().getCanonicalName(); return ret; } else { throw new IllegalArgumentException("No logger under name[" + loggerName + "]"); } }