/** * * Copyright (c) 2006-2017, Speedment, Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); You may not * use this file except in compliance with the License. You may obtain a copy of * the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.speedment.common.logger; /** * This <tt>Level</tt> enum defines the supported levels for the logging * framework. * * @author pemi */ public enum Level { /** * The <tt>Trace</tt> Level designates finer-grained informational events * than the <tt>Debug</tt> level. * <p> * This is the lowest level of logging */ TRACE("TRACE"), /** * The <tt>Debug</tt> Level designates fine-grained informational events * that are most useful for debugging an application. * <p> * This level is higher than: * <ul> * <li>{@link TRACE}</li> * </ul> */ DEBUG("DEBUG"), /** * The <tt>Info</tt> level designates informational messages that highlight * the progress of the application at coarse-grained level. * <p> * This level is higher than: * <ul> * <li>{@link TRACE}</li> * <li>{@link DEBUG}</li> * </ul> */ INFO("INFO "), /** * The <tt>Warning</tt> level designates potentially harmful situations. * <p> * This level is higher than: * <ul> * <li>{@link TRACE}</li> * <li>{@link DEBUG}</li> * <li>{@link INFO}</li> * </ul> */ WARN("WARN "), /** * The <tt>Warning</tt> level designates potentially harmful situations. * <p> * This level is higher than: * <ul> * <li>{@link TRACE}</li> * <li>{@link DEBUG}</li> * <li>{@link INFO}</li> * <li>{@link WARN}</li> * </ul> */ ERROR("ERROR"), /** * The <tt>Fatal</tt> level designates a severe application error event that * will most probably lead the application to abort. * <p> * This level is the highest log level and is higher than: * <ul> * <li>{@link TRACE}</li> * <li>{@link DEBUG}</li> * <li>{@link INFO}</li> * <li>{@link WARN}</li> * <li>{@link ERROR}</li> * </ul> */ FATAL("FATAL"); private final String text; Level(String text) { this.text = text; } /** * Returns the default level for the Logging framework. * * @return the default level for the Logging framework */ public static Level defaultLevel() { return INFO; } /** * Returns if this level is equal or lower than the provided level. * * @param otherLevel to compare to * @return if this level is equal or lower than the provided level */ public boolean isEqualOrLowerThan(Level otherLevel) { return ordinal() <= otherLevel.ordinal(); } /** * Returns if this level is equal or higher than the provided level. * * @param otherLevel to compare to * @return if this level is equal or higher than the provided level */ public boolean isEqualOrHigherThan(Level otherLevel) { return ordinal() >= otherLevel.ordinal(); } /** * Returns the text to use in the output logger for this level. * * @return the text to use in the output logger for this level */ public String toText() { return text; } }