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>"
         + "&nbsp;&nbsp;<b>Priority:</b> <code>{1}</code>"
         + "&nbsp;&nbsp;<b>Thread:</b> <code>{2}</code>"
  -      + "&nbsp;&nbsp;<b>NDC:</b> <code>{3}</code>"
  +      + "<br><b>NDC:</b> <code>{3}</code>"
         + "&nbsp;&nbsp;<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>");
  +      + "&nbsp;&nbsp;<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