X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;ds=sidebyside;f=liblttng-ust-java-agent%2Fjava%2Flttng-ust-agent-common%2Forg%2Flttng%2Fust%2Fagent%2Fsession%2FLogLevelSelector.java;fp=liblttng-ust-java-agent%2Fjava%2Flttng-ust-agent-common%2Forg%2Flttng%2Fust%2Fagent%2Fsession%2FLogLevelSelector.java;h=0000000000000000000000000000000000000000;hb=9d4c8b2d907edb9ebc9bfde55602598e7ba0832e;hp=c25ec81d3024162e6316ec6f61936d2e58890ee4;hpb=6ba6fd60507f8e045bdc4f1be14e9d99c6a15f7f;p=lttng-ust.git diff --git a/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/session/LogLevelSelector.java b/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/session/LogLevelSelector.java deleted file mode 100644 index c25ec81d..00000000 --- a/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/session/LogLevelSelector.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-only - * - * Copyright (C) 2015 EfficiOS Inc. - * Copyright (C) 2015 Alexandre Montplaisir - */ - -package org.lttng.ust.agent.session; - -/** - * Log level filtering element, which is part of an {@link EventRule}. - * - * @author Alexandre Montplaisir - */ -public class LogLevelSelector { - - /** - * The type of log level filter that is enabled. - * - * Defined from lttng-tools' include/lttng/event.h. - */ - public enum LogLevelType { - /** - * All log levels are enabled. This overrides the value of - * {@link LogLevelSelector#getLogLevel}. - */ - LTTNG_EVENT_LOGLEVEL_ALL(0), - - /** This log level along with all log levels of higher severity are enabled. */ - LTTNG_EVENT_LOGLEVEL_RANGE(1), - - /** Only this exact log level is enabled. */ - LTTNG_EVENT_LOGLEVEL_SINGLE(2); - - private final int value; - - private LogLevelType(int value) { - this.value = value; - } - - /** - * Get the numerical (int) value representing this log level type in the - * communication protocol. - * - * @return The int value - */ - public int getValue() { - return value; - } - - static LogLevelType fromValue(int val) { - switch (val) { - case 0: - return LTTNG_EVENT_LOGLEVEL_ALL; - case 1: - return LTTNG_EVENT_LOGLEVEL_RANGE; - case 2: - return LTTNG_EVENT_LOGLEVEL_SINGLE; - default: - throw new IllegalArgumentException(); - } - } - } - - private final int logLevel; - private final LogLevelType logLevelType; - - /** - * Constructor using numerical values straight from the communication - * protocol. - * - * @param logLevel - * The numerical value of the log level. The exact value depends - * on the tracing domain, see include/lttng/event.h in the - * lttng-tools tree for the complete enumeration. - * @param logLevelType - * The numerical value of the log level type. It will be - * converted to a {@link LogLevelType} by this constructor. - * @throws IllegalArgumentException - * If the 'logLevelType' does not correspond to a valid value. - */ - public LogLevelSelector(int logLevel, int logLevelType) { - this.logLevel = logLevel; - this.logLevelType = LogLevelType.fromValue(logLevelType); - } - - /** - * "Manual" constructor, specifying the {@link LogLevelType} directly. - * - * @param logLevel - * The numerical value of the log level. The exact value depends - * on the tracing domain, see include/lttng/event.h in the - * lttng-tools tree for the complete enumeration. - * @param type - * The log level filter type. - */ - public LogLevelSelector(int logLevel, LogLevelType type) { - this.logLevel = logLevel; - this.logLevelType = type; - } - - /** - * Get the numerical value of the log level element. Does not apply if - * {@link #getLogLevelType} returns - * {@link LogLevelType#LTTNG_EVENT_LOGLEVEL_ALL}. - * - * @return The numerical value of the log level - */ - public int getLogLevel() { - return logLevel; - } - - /** - * Get the log level filter type. - * - * @return The log level filter type - */ - public LogLevelType getLogLevelType() { - return logLevelType; - } - - /** - * Helper method to determine if an event with the given log level should be - * traced when considering this filter. - * - * For example, if this filter object represents "higher severity than 5", - * and the log level passed in parameter is "8", it will return that it - * matches (higher value means higher severity). - * - * @param targetLogLevel - * The log level value of the event to check for - * @return Should this event be traced, or not - */ - public boolean matches(int targetLogLevel) { - switch (logLevelType) { - case LTTNG_EVENT_LOGLEVEL_ALL: - return true; - case LTTNG_EVENT_LOGLEVEL_RANGE: - return (targetLogLevel >= logLevel); - case LTTNG_EVENT_LOGLEVEL_SINGLE: - return (targetLogLevel == logLevel); - default: - throw new IllegalStateException(); - } - } - - // ------------------------------------------------------------------------ - // Methods from Object - // ------------------------------------------------------------------------ - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + logLevel; - result = prime * result + ((logLevelType == null) ? 0 : logLevelType.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - LogLevelSelector other = (LogLevelSelector) obj; - - if (logLevel != other.logLevel) { - return false; - } - if (logLevelType != other.logLevelType) { - return false; - } - return true; - } - - @Override - public String toString() { - if (getLogLevelType() == LogLevelType.LTTNG_EVENT_LOGLEVEL_ALL) { - return LogLevelType.LTTNG_EVENT_LOGLEVEL_ALL.toString(); - } - return String.valueOf(getLogLevel()) + ", " + getLogLevelType().toString(); - } -}