package org.prevayler.foundation.monitor; import java.io.File; /** * Abstract Monitor for Logging implementation monitors to extend. */ public abstract class LoggingMonitor implements Monitor { public void notify( Class clazz, String message){ if (isInfoEnabled(clazz)) info(clazz,message); } public void notify( Class clazz, String message, Exception ex){ error(clazz,message,ex); } public void notify( Class clazz, String message, File file){ if (isInfoEnabled(clazz)) info(clazz,message + "\nFile: " + file); } public void notify( Class clazz, String message, File file, Exception ex){ error(clazz,message + "\nFile: " + file,ex); } protected abstract void info( Class clazz, String Message); protected abstract void error( Class clazz, String message, Exception ex); /** * default returns true. Override as needed. */ protected boolean isInfoEnabled( Class clazz){ return true; } }