sdeboy 2003/09/16 21:03:23
Modified: src/java/org/apache/log4j/chainsaw
LoggingEventFieldResolver.java
Log:
Updated return type to Object and documented specific return types for each field
Revision Changes Path
1.3 +25 -29
jakarta-log4j/src/java/org/apache/log4j/chainsaw/LoggingEventFieldResolver.java
Index: LoggingEventFieldResolver.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LoggingEventFieldResolver.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LoggingEventFieldResolver.java 16 Sep 2003 05:32:23 -0000 1.2
+++ LoggingEventFieldResolver.java 17 Sep 2003 04:03:22 -0000 1.3
@@ -58,25 +58,28 @@
*
* This class defines a grammar used in creation of an expression-based Rule.
*
- * The only available method is getField(String fieldName, LoggingEvent event).
+ * The only available method is Object getField(String fieldName, LoggingEvent
event).
*
* Here is a description of the mapping of field names in the grammar
- * to fields on the logging event:
+ * to fields on the logging event. While the getField method returns an Object,
the
+ * individual types returned per field are described here:
*
- * Field Name Field value (String representation
- * LOGGER category name (logger)
- * LEVEL level
- * CLASS locationInformation's class name
- * FILE locationInformation's file name
- * LINE locationInformation's line number
- * METHOD locationInformation's method name
- * MSG message
- * NDC NDC
- * EXCEPTION throwable string representation
- * TIMESTAMP timestamp
- * THREAD thread
- * MDC.keyName entry in the MDC hashtable mapped to key 'keyName'
- * PROP.keyName entry in the Property hashtable mapped to the key
'keyName'
+ * Field Name Field value (String representation Return
type
+ * LOGGER category name (logger)
String
+ * LEVEL level
Level
+ * CLASS locationInformation's class name String
+ * FILE locationInformation's file name String
+ * LINE locationInformation's line number String
+ * METHOD locationInformation's method name String
+ * MSG message
Object
+ * NDC NDC
String
+ * EXCEPTION throwable string representation
ThrowableInformation
+ * TIMESTAMP timestamp
Long
+ * THREAD thread
String
+ * MDC.keyName entry in the MDC hashtable Object
+ * mapped to key 'keyName'
+ * PROP.keyName entry in the Property hashtable String
+ * mapped to the key 'keyName'
* NOTE: the values for the 'keyName' portion of the MDC and PROP mappings must
* be an exact match to the key in the hashTable (case sensitive).
@@ -99,7 +102,7 @@
return resolver;
}
- public String getValue(String fieldName, LoggingEvent event) {
+ public Object getValue(String fieldName, LoggingEvent event) {
if (fieldName == null) {
return "";
}
@@ -109,7 +112,7 @@
if ("LOGGER".equals(fieldName)) {
return event.getLoggerName();
} else if ("LEVEL".equals(fieldName)) {
- return event.getLevel().toString();
+ return event.getLevel();
} else if ("CLASS".equals(fieldName)) {
return event.getLocationInformation().getClassName();
} else if ("FILE".equals(fieldName)) {
@@ -119,24 +122,17 @@
} else if ("METHOD".equals(fieldName)) {
return event.getLocationInformation().getMethodName();
} else if ("MSG".equals(fieldName)) {
- return event.getMessage().toString();
+ return event.getMessage();
} else if ("NDC".equals(fieldName)) {
return event.getNDC();
} else if ("EXCEPTION".equals(fieldName)) {
- StringBuffer buf = new StringBuffer();
-
- for (int i = 0; i < event.getThrowableStrRep().length; i++) {
- buf.append(event.getThrowableStrRep()[i]);
- buf.append(System.getProperty("line.separator"));
- }
-
- return buf.toString();
+ return event.getThrowableInformation();
} else if ("TIMESTAMP".equals(fieldName)) {
- return String.valueOf(event.timeStamp);
+ return new Long(event.timeStamp);
} else if ("THREAD".equals(fieldName)) {
return event.getThreadName();
} else if (fieldName.startsWith("MDC.")) {
- return event.getMDC(fieldName.substring(4)).toString();
+ return event.getMDC(fieldName.substring(4));
} else if (fieldName.startsWith("PROP.")) {
return event.getProperty(fieldName.substring(5));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]