package org.mongodb.morphia.logging.jdk; import java.util.logging.Level; import java.util.logging.Logger; public class FastestJDKLogger implements org.mongodb.morphia.logging.Logger { private final Logger logger; private final transient String className; public FastestJDKLogger(final Class c) { className = c.getName(); logger = Logger.getLogger(className); } public void debug(final String msg) { log(Level.FINE, msg); } public void debug(final String format, final Object... arg) { log(Level.FINE, format, arg); } public void debug(final String msg, final Throwable t) { log(Level.FINE, msg, t); } public void error(final String msg) { log(Level.SEVERE, msg); } public void error(final String format, final Object... arg) { log(Level.SEVERE, format, arg); } public void error(final String msg, final Throwable t) { log(Level.SEVERE, msg, t); } public void info(final String msg) { log(Level.INFO, msg); } public void info(final String format, final Object... arg) { log(Level.INFO, format, arg); } public void info(final String msg, final Throwable t) { log(Level.INFO, msg, t); } public boolean isDebugEnabled() { return logger.isLoggable(Level.FINE); } public boolean isErrorEnabled() { return logger.isLoggable(Level.SEVERE); } public boolean isInfoEnabled() { return logger.isLoggable(Level.INFO); } public boolean isTraceEnabled() { return logger.isLoggable(Level.FINER); } public boolean isWarningEnabled() { return logger.isLoggable(Level.WARNING); } public void trace(final String msg) { log(Level.FINER, msg); } public void trace(final String format, final Object... arg) { log(Level.FINER, format, arg); } public void trace(final String msg, final Throwable t) { log(Level.FINER, msg, t); } public void warning(final String msg) { log(Level.WARNING, msg); } public void warning(final String format, final Object... arg) { log(Level.WARNING, format, arg); } public void warning(final String msg, final Throwable t) { log(Level.WARNING, msg, t); } public String getClassName() { return className; } public Logger getLogger() { return logger; } protected void log(final Level l, final String m, final Throwable t) { if (logger.isLoggable(l)) { logger.logp(l, className, null, m, t); } } protected void log(final Level l, final String f, final Object... a) { if (logger.isLoggable(l)) { logger.logp(l, className, null, f, a); } } }