class JavaLogger extends AbstractLogger {

    private final String className;
    private final java.util.logging.Logger logger;

    /**
     * @deprecated use {@link #JavaLogger(java.util.logging.Logger)}
     */
    @Deprecated
    public JavaLogger(java.util.logging.Logger logger, LogMessageFilter filter) {
       this(logger);
    }

    public JavaLogger(java.util.logging.Logger logger) {
        this.logger = logger;
        this.className = logger.getName();
    }

    @Override
    public void log(Level level, String message, Throwable e) {<FILL_FUNCTION_BODY>}
}

        if (level.equals(Level.OFF)) {
            return;
        }

        if (!logger.isLoggable(level)) {
            return;
        }
        logger.logp(level, className, null, message, e);
    
<methods>public void config(java.lang.String) ,public void config(java.lang.String, java.lang.Throwable) ,public void debug(java.lang.String) ,public void debug(java.lang.String, java.lang.Throwable) ,public void fine(java.lang.String) ,public void fine(java.lang.String, java.lang.Throwable) ,public void info(java.lang.String) ,public void info(java.lang.String, java.lang.Throwable) ,public void severe(java.lang.String) ,public void severe(java.lang.String, java.lang.Throwable) ,public void warning(java.lang.String) ,public void warning(java.lang.String, java.lang.Throwable) <variables>