class LFLoggerManager {

    private static final Map<String, LFLog> logMap = new HashMap<>();

    private static final TransmittableThreadLocal<String> requestIdTL = new TransmittableThreadLocal<>();

    public static LFLog getLogger(Class<?> clazz){<FILL_FUNCTION_BODY>}

    public static void setRequestId(String requestId){
        requestIdTL.set(requestId);
    }

    public static String getRequestId(){
        return requestIdTL.get();
    }

    public static void removeRequestId(){
        requestIdTL.remove();
    }
}

        if (logMap.containsKey(clazz.getName())){
            return logMap.get(clazz.getName());
        }else{
            Logger log = LoggerFactory.getLogger(clazz.getName());
            LFLog lfLog = new LFLog(log);
            logMap.put(clazz.getName(), lfLog);
            return lfLog;
        }
    
<no_super_class>