|
The
following figure summarizes the JFLT architecture and its relationship with JFLT-based software. In particular, the diagram shows a generic JMX application that integrates the MBean server with some MBeans registered with it and a user library (XYZ
) that uses
also the JFLT infrastructure.
Figure 1 Using the JFLT message logging facility
JFLT provides message-logging primitives for Java applications (or JAR libraries) and is designed to provide a general-purpose logging abstraction for almost all product-specific needs. The library does not implement a real logging mechanism but provides methods for instrumenting it with external logging libraries (for instance JRas for WebSphere, JLog, Log4J, JSR47, etc.).
Products that integrate Java classes or developed with libraries that base their logging using the JFLT API, are able to plug a manufacturer-specific logging mechanism to get logging messages generated in those classes. In order to get this result it is only necessary to develop a specific product plug-in that must handle the message entries in the appropriate way. Essentially a specific product plug-in is an adapter that maps JFLT abstraction logging artifacts to the product native artifacts: each adapter delegates the methods calls to a specific logging mechanism. For this reason we say JFLT is flexible. The Figure 2 shows the relationships between the JFLT package and several possible adapters. As you can see the client’s code instrumented to the logging abstraction (the JFLT library) is not tied to a specific logging implementation. In addition, JFLT provides a default implementation for that abstraction and some logging specializations that the client can use for developing and testing his code in the own environment.
Figure 2 Relationship between JFLT and generic logging toolkits
The JFLT library contains several packages that provide
the infrastructure and some basic specializations for using it. For example, the
com.tivoli.jflt
package provides all common facilities that could be used for
developing a specific JFLT plug-in.
For getting more information on these classes see the JFLT API Specification.
|