Applications deployed on Fabric3 can take advantage of an injection-based monitoring and logging framework. The monitoring framework offers a number of benefits:
To use the monitoring framework in application code, do the following: defining a monitor interface and injecting the monitor in a component.
The monitoring interface is used for sending monitoring events. The interface defines expected events and monitoring levels using methods on the interface:
import org.fabric3.api.annotation.monitor.Severe; import org.fabric3.api.annotation.monitor.Debug; public inteface ComponentMonitor @Severe void error(String message, Throwable t); @Debug ("Received request {0}") void receivedRequest(String id); } |
The above interface defines an error event and a debug event. The debug event also specifies a formatted message that will be logged if the event is received. The following monitoring levels are supported:
By default, info and above are enabled at runtime.
A monitor is injected in a component using the org.fabric3.api.annotation.monitor.Monitor annotation.