All Downloads are FREE. Search and download functionalities are using the official Maven repository.

at.spardat.xma.boot.logger.LogLevel Maven / Gradle / Ivy

/*
 * 
 * Project    : XMA
 * Filename	  :	-
 * Created on : 25.06.2003
 * Created by : s3595
 *  
 * Spardat Sparkassen Datendienst GmbH
 * (C) Copyright 2003 Spardat All rights reserved.
 * 
 * Change History:
 * 
 * Maintainer     Date    Defect    Modification                                 
 * ------------  ------  --------   ------------                                 
 *
 */
package at.spardat.xma.boot.logger;

/**
 * LogLevel
 * 
 * @author s3595 Chr. Schaefer (CGS)
 * @version $Id: LogLevel.java 1005 2003-08-08 13:53:54Z S1462 $
 * 
 */
public class LogLevel {

    /**
     * @serial  The non-localized name of the level.
     */
    private final String name;

    /**
     * @serial  The integer value of the level.
     */
    private final int value;
    
    
    public static LogLevel getLogLevelNamed( String name ) {
     
        if( name.equals(OFF.getName())) {
            return OFF;   
        }
        if( name.equals(SEVERE.getName())) {
            return SEVERE;   
        }
        if( name.equals(WARNING.getName())) {
            return WARNING;   
        }
        if( name.equals(INFO.getName())) {
            return INFO;   
        }
        if( name.equals(CONFIG.getName())) {
            return CONFIG;   
        }
        if( name.equals(FINE.getName())) {
            return FINE;   
        }
        if( name.equals(ALL.getName())) {
            return ALL;   
        }
      return null;        
    }

    /**
     * OFF is a special level that can be used to turn off logging.
     * This level is initialized to Integer.MAX_VALUE.
     */
    public static final LogLevel OFF = new LogLevel("OFF",Integer.MAX_VALUE); //$NON-NLS-1$

    /**
     * SEVERE is a message level indicating a serious failure.
     * 

* In general SEVERE messages should describe events that are * of considerable importance and which will prevent normal * program execution. They should be reasonably intelligible * to end users and to system administrators. * This level is initialized to 1000. */ public static final LogLevel SEVERE = new LogLevel("SEVERE",1000); //$NON-NLS-1$ /** * WARNING is a message level indicating a potential problem. *

* In general WARNING messages should describe events that will * be of interest to end users or system managers, or which * indicate potential problems. * This level is initialized to 900. */ public static final LogLevel WARNING = new LogLevel("WARNING", 900); //$NON-NLS-1$ /** * INFO is a message level for informational messages. *

* Typically INFO messages will be written to the console * or its equivalent. So the INFO level should only be * used for reasonably significant messages that will * make sense to end users and system admins. * This level is initialized to 800. */ public static final LogLevel INFO = new LogLevel("INFO", 800); //$NON-NLS-1$ /** * CONFIG is a message level for static configuration messages. *

* CONFIG messages are intended to provide a variety of static * configuration information, to assist in debugging problems * that may be associated with particular configurations. * For example, CONFIG message might include the CPU type, * the graphics depth, the GUI look-and-feel, etc. * This level is initialized to 700. */ public static final LogLevel CONFIG = new LogLevel("CONFIG", 700); //$NON-NLS-1$ /** * FINE is a message level providing tracing information. *

* All of FINE, FINER, and FINEST are intended for relatively * detailed tracing. The exact meaning of the three levels will * vary between subsystems, but in general, FINEST should be used * for the most voluminous detailed output, FINER for somewhat * less detailed output, and FINE for the lowest volume (and * most important) messages. *

* In general the FINE level should be used for information * that will be broadly interesting to developers who do not have * a specialized interest in the specific subsystem. *

* FINE messages might include things like minor (recoverable) * failures. Issues indicating potential performance problems * are also worth logging as FINE. * This level is initialized to 500. */ public static final LogLevel FINE = new LogLevel("FINE", 500); //$NON-NLS-1$ /** * ALL indicates that all messages should be logged. * This level is initialized to Integer.MIN_VALUE. */ public static final LogLevel ALL = new LogLevel("ALL", Integer.MIN_VALUE); //$NON-NLS-1$ /** * Create a named Level with a given integer value. *

* Note that this constructor is "protected" to allow subclassing. * In general clients of logging should use one of the constant Level * objects such as SEVERE or FINEST. However, if clients need to * add new logging levels, they may subclass Level and define new * constants. * @param name the name of the Level, for example "SEVERE". * @param value an integer value for the level. */ protected LogLevel(String name, int value) { this.name = name; this.value = value; } /** * Return the non-localized string name of the Level. * * @return non-localized name */ public String getName() { return name; } /** * @return the non-localized name of the Level, for example "INFO". */ public final String toString() { return name; } /** * Get the integer value for this level. This integer value * can be used for efficient ordering comparisons between * Level objects. * @return the integer value for this level. */ public final int intValue() { return value; } /** * Compare two objects for value equality. * @return true if and only if the two objects have the same level value. */ public boolean equals(Object ox) { try { LogLevel lx = (LogLevel)ox; return (lx.value == this.value); } catch (Exception ex) { return false; } } /** * Generate a hashcode. * @return a hashcode based on the level value */ public int hashCode() { return this.value; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy