Monitors

Waffle was designed to provide easy monitoring of every aspect of its functionality. The Monitor Pattern has been adopted to allow the use to be notified of the relevant events. Each major area of functionaliy has a corresponding Monitor interface which defines events:

Monitor
org.codehaus.waffle.monitor.ActionMonitor
org.codehaus.waffle.monitor.BindMonitor
org.codehaus.waffle.monitor.ContextMonitor
org.codehaus.waffle.monitor.ControllerMonitor
org.codehaus.waffle.monitor.RegistrarMonitor
org.codehaus.waffle.monitor.ServletMonitor
org.codehaus.waffle.monitor.ValidationMonitor
org.codehaus.waffle.monitor.ViewMonitor

Writing Monitors

Waffle provides an abstract implementation of all the monitor interfaces in org.codehaus.waffle.monitor.AbstractWritingMonitor and three concrete implementations: org.codehaus.waffle.monitor.CommonsLoggingMonitor (which delegates to Commons Logging), org.codehaus.waffle.monitor.ConsoleMonitor (which writes to console) and org.codehaus.waffle.monitor.SilentMonitor (which writes nothing).

org.codehaus.waffle.monitor.AbstractWritingMonitor defines a default org.codehaus.waffle.monitor.Monitor.Level for each event and a default message template, which can be overridden via the monitorLevels() and monitorMessages() methods. By convention, the levels and templates are held in maps keyed on the event name: