class BufferedLogger extends AbstractLogger {

    private final BufferedLogService bufferedLogService;
    private final Class clazz;

    /**
     * @deprecated use {@link #BufferedLogger(Class, BufferedLogService)}
     */
    public BufferedLogger(Class clazz, BufferedLogService bufferedLogService, LogMessageFilter ignored) {
        this(clazz, bufferedLogService);
    }

    public BufferedLogger(Class clazz, BufferedLogService bufferedLogService) {
        this.clazz = clazz;
        this.bufferedLogService = bufferedLogService;
    }

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

    @Override
    public void close() throws Exception {

    }

}

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

        this.bufferedLogService.addLog(new BufferedLogService.BufferedLogMessage(level, clazz, filterMessage(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>