You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by mw...@apache.org on 2003/03/20 06:42:47 UTC
cvs commit: jakarta-log4j/src/java/org/apache/log4j/chainsaw XMLFileHandler.java MyTableModel.java EventDetails.java DetailPanel.java ControlPanel.java
mwomack 2003/03/19 21:42:46
Modified: src/java/org/apache/log4j/chainsaw XMLFileHandler.java
MyTableModel.java EventDetails.java
DetailPanel.java ControlPanel.java
Log:
Changes to support display and filtering of property values.
Revision Changes Path
1.11 +2 -2 jakarta-log4j/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java
Index: XMLFileHandler.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- XMLFileHandler.java 19 Mar 2003 06:04:11 -0000 1.10
+++ XMLFileHandler.java 20 Mar 2003 05:42:46 -0000 1.11
@@ -215,8 +215,8 @@
private void addEvent() {
mEventSink.addEvent(
new EventDetails(
- mTimeStamp, mPriority, mCategoryName, mNDC, null, mThreadName, mMessage,
- mThrowableStrRep, mLocationDetails));
+ mTimeStamp, mPriority, mCategoryName, mNDC, null, null, mThreadName,
+ mMessage, mThrowableStrRep, mLocationDetails));
mNumEvents++;
}
1.9 +22 -2 jakarta-log4j/src/java/org/apache/log4j/chainsaw/MyTableModel.java
Index: MyTableModel.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/MyTableModel.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- MyTableModel.java 19 Mar 2003 06:04:11 -0000 1.8
+++ MyTableModel.java 20 Mar 2003 05:42:46 -0000 1.9
@@ -103,7 +103,7 @@
/** names of the columns in the table **/
private static final String[] COL_NAMES =
- { "Time", "Priority", "Trace", "Category", "NDC", "MDC", "Message" };
+ { "Time", "Priority", "Trace", "Category", "NDC", "MDC", "Properties", "Message" };
/** definition of an empty list **/
private static final EventDetails[] EMPTY_LIST = new EventDetails[] { };
@@ -139,6 +139,9 @@
/** filter for the MDC **/
private String mMDCFilter = "";
+ /** filter for the Properties **/
+ private String mPropertiesFilter = "";
+
/** filter for the category **/
private String mCategoryFilter = "";
@@ -202,6 +205,8 @@
return event.getNDC();
} else if (aCol == 5) {
return event.getMDC();
+ } else if (aCol == 6) {
+ return event.getProperties();
}
return event.getMessage();
@@ -274,6 +279,18 @@
}
/**
+ * Set the filter for the Properties field.
+ *
+ * @param aStr the string to match
+ */
+ public void setPropertiesFilter(String aStr) {
+ synchronized (mLock) {
+ mPropertiesFilter = aStr.trim();
+ updateFilteredEvents(false);
+ }
+ }
+
+ /**
* Set the filter for the category field.
*
* @param aStr the string to match
@@ -396,7 +413,10 @@
&& (aEvent.getNDC().indexOf(mNDCFilter) >= 0)))
&& ((mMDCFilter.length() == 0)
|| ((aEvent.getMDC() != null)
- && (aEvent.getMDC().indexOf(mMDCFilter) >= 0)))) {
+ && (aEvent.getMDC().indexOf(mMDCFilter) >= 0)))
+ && ((mPropertiesFilter.length() == 0)
+ || ((aEvent.getProperties() != null)
+ && (aEvent.getProperties().indexOf(mPropertiesFilter) >= 0)))) {
final String rm = aEvent.getMessage();
if (rm == null) {
1.5 +39 -5 jakarta-log4j/src/java/org/apache/log4j/chainsaw/EventDetails.java
Index: EventDetails.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/EventDetails.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EventDetails.java 19 Mar 2003 06:04:11 -0000 1.4
+++ EventDetails.java 20 Mar 2003 05:42:46 -0000 1.5
@@ -78,6 +78,9 @@
/** the MDC for the event **/
private final String mMDC;
+ /** the Properties for the event **/
+ private final String mProperties;
+
/** the thread for the event **/
private final String mThreadName;
@@ -103,13 +106,14 @@
*/
EventDetails(
long aTimeStamp, Priority aPriority, String aCategoryName, String aNDC,
- String aMDC, String aThreadName, String aMessage, String[] aThrowableStrRep,
- String aLocationDetails) {
+ String aMDC, String aProperties, String aThreadName, String aMessage,
+ String[] aThrowableStrRep, String aLocationDetails) {
mTimeStamp = aTimeStamp;
mPriority = aPriority;
mCategoryName = aCategoryName;
mNDC = aNDC;
mMDC = aMDC;
+ mProperties = aProperties;
mThreadName = aThreadName;
mMessage = aMessage;
mThrowableStrRep = aThrowableStrRep;
@@ -124,8 +128,9 @@
EventDetails(LoggingEvent aEvent) {
this(
aEvent.timeStamp, aEvent.getLevel(), aEvent.getLoggerName(),
- aEvent.getNDC(), getEventMDC(aEvent), aEvent.getThreadName(),
- aEvent.getRenderedMessage(), aEvent.getThrowableStrRep(),
+ aEvent.getNDC(), getEventMDC(aEvent), getEventProperties(aEvent),
+ aEvent.getThreadName(), aEvent.getRenderedMessage(),
+ aEvent.getThrowableStrRep(),
(aEvent.getLocationInformation() == null) ? null
: aEvent
.getLocationInformation().fullInfo);
@@ -156,6 +161,11 @@
return mMDC;
}
+ /** @see #mProperties **/
+ String getProperties() {
+ return mProperties;
+ }
+
/** @see #mThreadName **/
String getThreadName() {
return mThreadName;
@@ -185,7 +195,7 @@
Set keySet = event.getMDCKeySet();
if (!keySet.isEmpty()) {
String mdcString = "";
- Iterator keyIter = event.getMDCKeySet().iterator();
+ Iterator keyIter = keySet.iterator();
while (keyIter.hasNext()) {
if (mdcString.length() != 0) {
mdcString += ',';
@@ -195,6 +205,30 @@
mdcString += key + "=" + value;
}
return mdcString;
+ }
+
+ return null;
+ }
+
+ /**
+ Used internally to convert the properties contents to a string.
+
+ @param event The LoggingEvent to use for the properties contents.
+ @return String The properties contents in string form. */
+ private static String getEventProperties(LoggingEvent event) {
+ Set keySet = event.getPropertyKeySet();
+ if (!keySet.isEmpty()) {
+ String propertyString = "";
+ Iterator keyIter = keySet.iterator();
+ while (keyIter.hasNext()) {
+ if (propertyString.length() != 0) {
+ propertyString += ',';
+ }
+ String key = (String)keyIter.next();
+ String value = (String)event.getProperty(key);
+ propertyString += key + "=" + value;
+ }
+ return propertyString;
}
return null;
1.6 +8 -7 jakarta-log4j/src/java/org/apache/log4j/chainsaw/DetailPanel.java
Index: DetailPanel.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/DetailPanel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DetailPanel.java 19 Mar 2003 06:04:11 -0000 1.5
+++ DetailPanel.java 20 Mar 2003 05:42:46 -0000 1.6
@@ -82,11 +82,12 @@
"<b>Time:</b> <code>{0,time,medium}</code>"
+ " <b>Priority:</b> <code>{1}</code>"
+ " <b>Thread:</b> <code>{2}</code>"
- + " <b>NDC:</b> <code>{3}</code>"
+ + "<br><b>NDC:</b> <code>{3}</code>"
+ " <b>MDC:</b> <code>{4}</code>"
- + "<br><b>Category:</b> <code>{5}</code>"
- + "<br><b>Location:</b> <code>{6}</code>" + "<br><b>Message:</b>"
- + "<pre>{7}</pre>" + "<b>Throwable:</b>" + "<pre>{8}</pre>");
+ + " <b>Properties:</b> <code>{5}</code>"
+ + "<br><b>Category:</b> <code>{6}</code>"
+ + "<br><b>Location:</b> <code>{7}</code>" + "<br><b>Message:</b>"
+ + "<pre>{8}</pre>" + "<b>Throwable:</b>" + "<pre>{9}</pre>");
/** the model for the data to render **/
private final MyTableModel mModel;
@@ -131,9 +132,9 @@
final Object[] args =
{
new Date(e.getTimeStamp()), e.getPriority(), escape(e.getThreadName()),
- escape(e.getNDC()), escape(e.getMDC()), escape(e.getCategoryName()),
- escape(e.getLocationDetails()), escape(e.getMessage()),
- escape(getThrowableStrRep(e))
+ escape(e.getNDC()), escape(e.getMDC()), escape(e.getProperties()),
+ escape(e.getCategoryName()), escape(e.getLocationDetails()),
+ escape(e.getMessage()), escape(getThrowableStrRep(e))
};
mDetails.setText(FORMATTER.format(args));
mDetails.setCaretPosition(0);
1.9 +26 -0 jakarta-log4j/src/java/org/apache/log4j/chainsaw/ControlPanel.java
Index: ControlPanel.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ControlPanel.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- ControlPanel.java 19 Mar 2003 06:04:11 -0000 1.8
+++ ControlPanel.java 20 Mar 2003 05:42:46 -0000 1.9
@@ -107,6 +107,11 @@
public static final String MDC_PROPERTY = "mdc";
/**
+ * Properties filter property
+ */
+ public static final String PROPERTIES_PROPERTY = "properties";
+
+ /**
* Message filter property
*/
public static final String MESSAGE_PROPERTY = "message";
@@ -174,6 +179,11 @@
add(label);
c.gridy++;
+ label = new JLabel("Filter Properties:");
+ gridbag.setConstraints(label, c);
+ add(label);
+
+ c.gridy++;
label = new JLabel("Filter Message:");
gridbag.setConstraints(label, c);
add(label);
@@ -263,10 +273,12 @@
String ndcProp = "";
String mdcProp = "";
+ String propertiesProp = "";
if (savePrefs) {
ndcProp = prefs.getProperty(NDC_PROPERTY, "");
mdcProp = prefs.getProperty(MDC_PROPERTY, "");
+ propertiesProp = prefs.getProperty(PROPERTIES_PROPERTY, "");
}
final JTextField ndcField = new JTextField(ndcProp);
@@ -294,6 +306,20 @@
});
gridbag.setConstraints(mdcField, c);
add(mdcField);
+
+ c.gridy++;
+
+ final JTextField propertiesField = new JTextField(propertiesProp);
+ aModel.setPropertiesFilter(propertiesProp);
+ propertiesField.getDocument().addDocumentListener(
+ new DocumentChangeListener() {
+ public void update(DocumentEvent aEvent) {
+ aModel.setPropertiesFilter(propertiesField.getText());
+ prefs.setProperty(PROPERTIES_PROPERTY, propertiesField.getText());
+ }
+ });
+ gridbag.setConstraints(propertiesField, c);
+ add(propertiesField);
c.gridy++;
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-dev-help@jakarta.apache.org