I am interested in changing the logging filter from the MBean views, so I changed 
org.jboss.logging.ConsoleLogging and org.jboss.logging.ConsoleLoggingMBean.  The 
change was to add the accessor methods and remove the filter from preRegister and add 
it to handleNotification (just like it is done in org.jboss.logging.FileLogging).  
Question in my mind is, was there a benefit for using the JMX filter?

Anyway, this works for me - if anyone else is interested...

- jeremiah

Index: ConsoleLoggingMBean.java
===================================================================
RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/logging/ConsoleLoggingMBean.java,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 ConsoleLoggingMBean.java
19a20,21
>    public void setFilter(String filter);
>    public String getFilter();

Index: ConsoleLogging.java
===================================================================
RCS file: /products/cvs/ejboss/jboss/src/main/org/jboss/logging/ConsoleLogging.java,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 ConsoleLogging.java
54a55,61
>    public void setFilter(String filter)
>    {
>       this.filter = filter;
>    }
> 
>    public String getFilter() { return filter; }
> 
66,70c73,80
<       Object[] args = new Object[] { dateFmt.format(n.getTimeStamp()), new 
Long(n.getSequenceNumber()), n.getUserData(), n.getType(), n.getMessage() };
<       if (n.getType().equals("Error") || n.getType().equals("Warning"))
<          err.println(msgFmt.format(args));
<       else         
<          out.println(msgFmt.format(args));
---
>       if( filter.indexOf(n.getType()) != -1 )
>       {
>          Object[] args = new Object[] { dateFmt.format(n.getTimeStamp()), new 
>Long(n.getSequenceNumber()), n.getUserData(), n.getType(), n.getMessage() };
>          if (n.getType().equals("Error") || n.getType().equals("Warning"))
>             err.println(msgFmt.format(args));
>          else         
>             out.println(msgFmt.format(args));
>       }
80,85c90
<       NotificationFilterSupport f = new NotificationFilterSupport();
<       StringTokenizer types = new StringTokenizer(filter, ",");
<       while (types.hasMoreTokens())
<          f.enableType(types.nextToken());
<       
<       server.addNotificationListener(new 
ObjectName(server.getDefaultDomain(),"service","Log"),this,f,null);
---
>       server.addNotificationListener(new 
>ObjectName(server.getDefaultDomain(),"service","Log"),this,null,null);

______________________________________________
FREE Personalized Email at Mail.com
Sign up at http://www.mail.com/?sr=signup


Reply via email to