There are two ways to listen for log
messages. You can either take advantage of the JMX infrastructure and
register a notification listener with the
LogBroadcasterRuntime MBean, or you can attach a
custom log handler (using the JDK 1.4 Logging API) to the
server’s Logger directly using a startup class.
Using the Logging API is simpler and lets you benefit from other
features of the API, such as filtering and message formatting.
WebLogic distributes log messages as
JMX notifications. Thus, writing an application that listens and
responds to log events is no different from writing any other
notification listener, which we covered in Chapter 20. As Figure 21-1 illustrates, each server
hosts a log broadcaster. This is implemented by the
LogBroadcasterRuntime MBean. The following command
retrieves the name of the
MBean on a Managed Server:
java weblogic.Admin -url t3://servera.x:7001/ -username system -password pssst GET -pretty -type LogBroadcasterRuntime
In this case, the name of the MBean on
You can use the MBean’s name to register a
NotificationListener with the
WebLogicObjectName name = new WebLogicObjectName("TheLogBroadcaster", "LogBroadcasterRuntime", "myClusterDomain", "ServerA"); MyLogListener mll = new MyLogListener( ); ah.getMBeanServer( ).addNotificationListener(name, mll, null /*no filter*/, ...