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