I'll save you some programming:

public class TraceLevel extends Level {
  public static final int TRACE_INT = 800;

  // We assimilate TRACE to DEBUG on Syslog
  private static final int SYSLOG_TRACE_INT = 7;

  public static final TraceLevel TRACE =
      new TraceLevel(TRACE_INT, "TRACE", SYSLOG_TRACE_INT);

  final static public Level ALL = new TraceLevel(ALL_INT, "ALL", 9);

  protected TraceLevel(int level, String strLevel, int syslogEquiv) {
    super(level, strLevel, syslogEquiv);
  }

  public static Priority toPriority(String sArg) {
    return toPriority(sArg, TraceLevel.TRACE);
  }

  public static Priority toPriority(int i) throws IllegalArgumentException {
    return toPriority(i, TraceLevel.TRACE);
  }

  public static Priority toPriority(int i, Priority priority) {
    Priority p = (i == TRACE_INT) ?
        TraceLevel.TRACE :
        Priority.toPriority(i, priority);

    return p;
  }

  public static Priority toPriority(String sArg, Priority priority) {
    Priority p = (sArg == null) ?
        TraceLevel.TRACE :
        ((sArg.equalsIgnoreCase("TRACE")) ?
        TraceLevel.TRACE :
        Priority.toPriority(sArg, priority));

    return p;
  }

  public static Level toLevel(String s) {
    return toLevel(s, TraceLevel.TRACE);
  }

  public static Level toLevel(int i) {
    return toLevel(i, TraceLevel.TRACE);
  }

  public static Level toLevel(int i, Level level) {
    Level l = (i == TRACE_INT) ?
        TraceLevel.TRACE :
        Level.toLevel(i, level);

    return l;
  }

  public static Level toLevel(String s, Level level) {
    Level l = (s == null) ?
        TraceLevel.TRACE :
        ((s.equalsIgnoreCase("TRACE")) ?
        TraceLevel.TRACE :
        Level.toLevel(s, level));

    return l;
  }

  /**
   * @deprecated
   */
  public static Priority[] getAllPossiblePriorities() {
    return new Priority[]{Priority.FATAL, Priority.ERROR, Level.WARN,
                          Priority.INFO, Priority.DEBUG, TRACE};
  }
}

Obviously, I use TRACE levels myself.  This topic keeps coming up, and it's
constantly disagreed with (largely for reasons of not cluttering the
namespace of available levels -- see discussion regarding issues with
JSR47...).


-----Original Message-----
From: Sean Hager [mailto:[EMAIL PROTECTED]] 
Sent: Monday, June 03, 2002 1:52 PM
To: [EMAIL PROTECTED]
Subject: TRACE level


Before I subclass the level class and add in a TRACE level, is there any
chance log4j will add in a TRACE level?


I really see the need to have a TRACE level that just details path of the
program without cluttering up the DEBUG level output.

Sean.

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to