1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.log4j.xml;
19
20 import org.apache.log4j.Level;
21
22
23
24
25
26
27
28 public class XLevel extends Level {
29 private static final long serialVersionUID = 7288304330257085144L;
30
31 static public final int TRACE_INT = Level.DEBUG_INT - 1;
32 static public final int LETHAL_INT = Level.FATAL_INT + 1;
33
34
35 private static String TRACE_STR = "TRACE";
36 private static String LETHAL_STR = "LETHAL";
37
38
39 public static final XLevel TRACE = new XLevel(TRACE_INT, TRACE_STR, 7);
40 public static final XLevel LETHAL = new XLevel(LETHAL_INT, LETHAL_STR,
41 0);
42
43
44 protected
45 XLevel(int level, String strLevel, int syslogEquiv) {
46 super(level, strLevel, syslogEquiv);
47 }
48
49
50
51
52
53 public
54 static
55 Level toLevel(String sArg) {
56 return (Level) toLevel(sArg, XLevel.TRACE);
57 }
58
59
60 public
61 static
62 Level toLevel(String sArg, Level defaultValue) {
63
64 if(sArg == null) {
65 return defaultValue;
66 }
67 String stringVal = sArg.toUpperCase();
68
69 if(stringVal.equals(TRACE_STR)) {
70 return XLevel.TRACE;
71 } else if(stringVal.equals(LETHAL_STR)) {
72 return XLevel.LETHAL;
73 }
74
75 return Level.toLevel(sArg, (Level) defaultValue);
76 }
77
78
79 public
80 static
81 Level toLevel(int i) throws IllegalArgumentException {
82 switch(i) {
83 case TRACE_INT: return XLevel.TRACE;
84 case LETHAL_INT: return XLevel.LETHAL;
85 }
86 return Level.toLevel(i);
87 }
88
89 }
90