ceki 01/09/02 14:48:55 Added: src/java/org/apache/log4j Level.java Log: Level replaces Priority. Revision Changes Path 1.1 jakarta-log4j/src/java/org/apache/log4j/Level.java Index: Level.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE.txt file. */ // Contributors: Kitching Simon <[EMAIL PROTECTED]> package org.apache.log4j; /** Defines the minimum set of priorities recognized by the system, that is {@link #FATAL}, {@link #ERROR}, {@link #WARN}, {@link #INFO} and {@link #DEBUG}. <p>The <code>Level</code> class may be subclassed to define a larger level set. @author Ceki Gülcü */ public class Level { int level; String levelStr; int syslogEquivalent; public final static int OFF_INT = Integer.MAX_VALUE; public final static int FATAL_INT = 50000; public final static int ERROR_INT = 40000; public final static int WARN_INT = 30000; public final static int INFO_INT = 20000; public final static int DEBUG_INT = 10000; public final static int ALL_INT = Integer.MIN_VALUE; /** The <code>OFF</code> is used to turn off logging. */ final static public Level OFF = new Level(OFF_INT, "OFF", 0); /** The <code>FATAL</code> Level designates very severe error events that will presumably lead the application to abort. */ final static public Level FATAL = new Level(FATAL_INT, "FATAL", 0); /** The <code>ERROR</code> Level designates error events that might still allow the application to continue running. */ final static public Level ERROR = new Level(ERROR_INT, "ERROR", 3); /** The <code>WARN</code> Level designates potentially harmful situations. */ final static public Level WARN = new Level(WARN_INT, "WARN", 4); /** The <code>INFO</code> Level designates informational messages that highlight the progress of the application at coarse-grained level. */ final static public Level INFO = new Level(INFO_INT, "INFO", 6); /** The <code>DEBUG</code> Level designates fine-grained informational events that are most useful to debug an application. */ final static public Level DEBUG = new Level(DEBUG_INT, "DEBUG", 7); /** The <code>ALL</code> is used to turn on all logging. */ final static public Level ALL = new Level(ALL_INT, "ALL", 7); /** Instantiate a level object. */ protected Level(int level, String levelStr, int syslogEquivalent) { this.level = level; this.levelStr = levelStr; this.syslogEquivalent = syslogEquivalent; } /** Return the syslog equivalent of this level as an integer. */ public final int getSyslogEquivalent() { return syslogEquivalent; } /** Returns the string representation of this level. */ final public String toString() { return levelStr; } /** Returns the integer representation of this level. */ public final int toInt() { return level; } /** Returns <code>true</code> if this level has a higher or equal level than the level passed as argument, <code>false</code> otherwise. <p>You should think twice before overriding the default implementation of <code>isGreaterOrEqual</code> method. */ public boolean isGreaterOrEqual(Level r) { return level >= r.level; } /** Return all possible priorities as an array of Level objects in descending order. */ public static Level[] getAllPossiblePriorities() { return new Level[] {Level.FATAL, Level.ERROR, Level.WARN, Level.INFO, Level.DEBUG}; } /** Convert the string passed as argument to a level. If the conversion fails, then this method returns {@link #DEBUG}. */ public static Level toLevel(String sArg) { return toLevel(sArg, Level.DEBUG); } /** Convert an integer passed as argument to a level. If the conversion fails, then this method returns {@link #DEBUG}. */ public static Level toLevel(int val) { return toLevel(val, Level.DEBUG); } /** Convert an integer passed as argument to a level. If the conversion fails, then this method returns the specified default. */ public static Level toLevel(int val, Level defaultLevel) { switch(val) { case ALL_INT: return ALL; case DEBUG_INT: return DEBUG; case INFO_INT: return INFO; case WARN_INT: return WARN; case ERROR_INT: return ERROR; case FATAL_INT: return FATAL; case OFF_INT: return OFF; default: return defaultLevel; } } /** Convert the string passed as argument to a level. If the conversion fails, then this method returns the value of <code>defaultLevel</code>. */ public static Level toLevel(String sArg, Level defaultLevel) { if(sArg == null) return defaultLevel; String s = sArg.toUpperCase(); if(s.equals("ALL")) return Level.ALL; if(s.equals("DEBUG")) return Level.DEBUG; if(s.equals("INFO")) return Level.INFO; if(s.equals("WARN")) return Level.WARN; if(s.equals("ERROR")) return Level.ERROR; if(s.equals("FATAL")) return Level.FATAL; if(s.equals("OFF")) return Level.OFF; return defaultLevel; } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]