package com.smartcodeltd.jenkinsci.plugins.buildmonitor;
import java.util.logging.Level;
import java.util.logging.Logger;
import static java.util.logging.Level.*;
public class BuildMonitorLogger {
private final String className;
public static <T> BuildMonitorLogger forClass(Class<T> sourceClass) {
return new BuildMonitorLogger(sourceClass.getName());
}
public void debug(String sourceMethod, String template, Object... arguments) {
log(FINEST, sourceMethod, template, arguments);
}
public void info(String sourceMethod, String template, Object... arguments) {
log(INFO, sourceMethod, template, arguments);
}
public void warning(String sourceMethod, String template, Object... arguments) {
log(WARNING, sourceMethod, template, arguments);
}
public void error(String sourceMethod, String template, Object... arguments) {
log(SEVERE, sourceMethod, template, arguments);
}
// --
private final Logger logger;
private BuildMonitorLogger(String className) {
this.className = className;
this.logger = Logger.getLogger("Build Monitor");
}
private void log(Level level, String sourceMethod, String template, Object... arguments) {
logger.logp(level, className, sourceMethod, template, arguments);
}
}