package org.prevayler.foundation.monitor;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
/**
* A Monitor that logs output using Log4j. Loggers are named by fully qualified
* class name for easy configuration and control over logging output.
*/
public class Log4jMonitor extends LoggingMonitor {
private static final String callerFQCN=LoggingMonitor.class.getName();
protected void info( Class clazz, String message){
log(clazz,Level.INFO,message,null);
}
protected void error( Class clazz, String message, Exception ex){
log(clazz,Level.ERROR,message,ex);
}
protected boolean isInfoEnabled( Class clazz){
return logger(clazz).isInfoEnabled();
}
private Logger logger( Class clazz){
return Logger.getLogger(clazz);
}
private void log( Class clazz, Level level, String message, Exception ex){
logger(clazz).log(callerFQCN,level,message,ex);
}
}