sdeboy 2004/11/29 10:50:38
Modified: src/java/org/apache/log4j/rule LevelInequalityRule.java
LevelEqualsRule.java
Log:
building needed list of log4j levels in level rules on deserialization,
removed serialization of levelInequalityRule (serialization handled by
inequalityrule)
Revision Changes Path
1.8 +15 -63
logging-log4j/src/java/org/apache/log4j/rule/LevelInequalityRule.java
Index: LevelInequalityRule.java
===================================================================
RCS file:
/home/cvs/logging-log4j/src/java/org/apache/log4j/rule/LevelInequalityRule.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- LevelInequalityRule.java 29 Nov 2004 09:18:11 -0000 1.7
+++ LevelInequalityRule.java 29 Nov 2004 18:50:38 -0000 1.8
@@ -16,8 +16,6 @@
package org.apache.log4j.rule;
-import java.io.IOException;
-import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
@@ -32,19 +30,17 @@
* @author Scott Deboy <[EMAIL PROTECTED]>
*/
public class LevelInequalityRule {
- static final long serialVersionUID = 851854546425717836L;
-
- private transient Level level;
-
- private static List utilList;
-
private static List levelList;
- private transient String inequalitySymbol;
-
static {
+ populateLevels();
+ }
+
+ private LevelInequalityRule() {
+ }
+
+ private static void populateLevels() {
levelList = new LinkedList();
- utilList = new LinkedList();
levelList.add(Level.FATAL.toString());
levelList.add(Level.ERROR.toString());
@@ -52,76 +48,32 @@
levelList.add(Level.INFO.toString());
levelList.add(Level.DEBUG.toString());
levelList.add(Level.TRACE.toString());
-
- Iterator iter = UtilLoggingLevel.getAllPossibleLevels().iterator();
-
- while (iter.hasNext()) {
- utilList.add(((UtilLoggingLevel) iter.next()).toString());
- }
- }
-
- private LevelInequalityRule() {
}
public static Rule getRule(String inequalitySymbol, String value) {
- // return new LevelInequalityRule(inequalitySymbol, value);
- Level level = null;
+ Level thisLevel = null;
+
if (levelList.contains(value.toUpperCase())) {
- level = Level.toLevel(value.toUpperCase());
+ thisLevel = Level.toLevel(value.toUpperCase());
} else {
- level = UtilLoggingLevel.toLevel(value.toUpperCase());
+ thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase());
}
if ("<".equals(inequalitySymbol)) {
- return new LessThanRule(level);
+ return new LessThanRule(thisLevel);
}
if (">".equals(inequalitySymbol)) {
- return new GreaterThanRule(level);
+ return new GreaterThanRule(thisLevel);
}
if ("<=".equals(inequalitySymbol)) {
- return new LessThanEqualsRule(level);
+ return new LessThanEqualsRule(thisLevel);
}
if (">=".equals(inequalitySymbol)) {
- return new GreaterThanEqualsRule(level);
+ return new GreaterThanEqualsRule(thisLevel);
}
return null;
- }
-
- /**
- * Deserialize the state of the object
- *
- * @param in
- *
- * @throws IOException
- * @throws ClassNotFoundException
- */
- private void readObject(java.io.ObjectInputStream in) throws IOException,
- ClassNotFoundException {
- utilList = new LinkedList();
- levelList = new LinkedList();
- inequalitySymbol = (String) in.readObject();
- boolean isUtilLogging = in.readBoolean();
- int levelInt = in.readInt();
- if (isUtilLogging) {
- level = UtilLoggingLevel.toLevel(levelInt);
- } else {
- level = Level.toLevel(levelInt);
- }
- }
-
- /**
- * Serialize the state of the object
- *
- * @param out
- *
- * @throws IOException
- */
- private void writeObject(java.io.ObjectOutputStream out) throws
IOException {
- out.writeObject(inequalitySymbol);
- out.writeBoolean(level instanceof UtilLoggingLevel);
- out.writeInt(level.toInt());
}
static class LessThanRule extends AbstractRule {
1.2 +13 -20
logging-log4j/src/java/org/apache/log4j/rule/LevelEqualsRule.java
Index: LevelEqualsRule.java
===================================================================
RCS file:
/home/cvs/logging-log4j/src/java/org/apache/log4j/rule/LevelEqualsRule.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LevelEqualsRule.java 29 Nov 2004 09:18:11 -0000 1.1
+++ LevelEqualsRule.java 29 Nov 2004 18:50:38 -0000 1.2
@@ -35,13 +35,18 @@
private transient Level level;
- private static List utilList = new LinkedList();
-
private static List levelList = new LinkedList();
static {
+ populateLevels();
+ }
+
+ private LevelEqualsRule(Level level) {
+ this.level = level;
+ }
+
+ private static void populateLevels() {
levelList = new LinkedList();
- utilList = new LinkedList();
levelList.add(Level.FATAL.toString());
levelList.add(Level.ERROR.toString());
@@ -49,28 +54,17 @@
levelList.add(Level.INFO.toString());
levelList.add(Level.DEBUG.toString());
levelList.add(Level.TRACE.toString());
-
- Iterator iter = UtilLoggingLevel.getAllPossibleLevels().iterator();
-
- while (iter.hasNext()) {
- utilList.add(((UtilLoggingLevel) iter.next()).toString());
- }
- }
-
- private LevelEqualsRule(Level level) {
- this.level = level;
}
public static Rule getRule(String value) {
- //return new LevelInequalityRule(inequalitySymbol, value);
- Level level = null;
+ Level thisLevel = null;
if (levelList.contains(value.toUpperCase())) {
- level = Level.toLevel(value.toUpperCase());
+ thisLevel = Level.toLevel(value.toUpperCase());
} else {
- level = UtilLoggingLevel.toLevel(value.toUpperCase());
+ thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase());
}
- return new LevelEqualsRule(level);
+ return new LevelEqualsRule(thisLevel);
}
public boolean evaluate(LoggingEvent event) {
@@ -85,8 +79,7 @@
* @throws IOException
*/
private void readObject(java.io.ObjectInputStream in) throws IOException
{
- utilList = new LinkedList();
- levelList = new LinkedList();
+ populateLevels();
boolean isUtilLogging = in.readBoolean();
int levelInt = in.readInt();
if (isUtilLogging) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]