ceki 2003/02/18 11:58:10
Modified: src/java/org/apache/log4j/spi LoggingEvent.java
Log:
Added a property map, similar to the one found in javax.jms.Message.
The intention is to let appenders set properties and have layouts access them.
Revision Changes Path
1.35 +27 -0 jakarta-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java
Index: LoggingEvent.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- LoggingEvent.java 21 Oct 2002 23:20:34 -0000 1.34
+++ LoggingEvent.java 18 Feb 2003 19:58:09 -0000 1.35
@@ -81,6 +81,11 @@
/** The mapped diagnostic context (MDC) of logging event. */
private Hashtable mdcCopy;
+ /** A map of String keys and String values.
+ @since 1.3
+ */
+ private Hashtable properties;
+
/** Have we tried to do an NDC lookup? If we did, there is no need
* to do it again. Note that its value is always false when
* serialized. Thus, a receiving SocketNode will never use it's own
@@ -274,6 +279,17 @@
}
}
}
+
+ /**
+ * Return a previously set property. The return value can be null.
+ * @since 1.3
+ * */
+ public String getProperty(String key) {
+ if(properties == null)
+ return null;
+ else
+ return (String) properties.get(key);
+ }
public String getRenderedMessage() {
if (renderedMessage == null && message != null) {
@@ -367,6 +383,17 @@
// Make sure that no location info is available to Layouts
if (locationInfo == null)
locationInfo = new LocationInfo(null, null);
+ }
+
+ /**
+ * Set a string property using a key and a string value.
+ * since 1.3
+ */
+ public void setProperty(String key, String value) {
+ if(properties == null) {
+ properties = new Hashtable(5); // create a small hashtable
+ }
+ properties.put(key, value);
}
private void writeObject(ObjectOutputStream oos) throws java.io.IOException {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]