package net.minecraftforge.fml.common.launcher;

import net.minecraft.launchwrapper.LaunchClassLoader;
import net.minecraftforge.fml.relauncher.FMLLaunchHandler;

public class FMLServerTweaker extends FMLTweaker {
    @Override
    public String getLaunchTarget()
    {
        return "net.minecraft.server.MinecraftServer";
    }

    @Override
    public void injectIntoClassLoader(LaunchClassLoader classLoader)
    {
        // The mojang packages are excluded so the log4j2 queue is correctly visible from
        // the obfuscated and deobfuscated parts of the code. Without, the UI won't show anything
        classLoader.addClassLoaderExclusion("com.mojang.");
        classLoader.addTransformerExclusion("net.minecraftforge.fml.repackage.");
        classLoader.addTransformerExclusion("net.minecraftforge.fml.relauncher.");
        classLoader.addTransformerExclusion("net.minecraftforge.fml.common.asm.transformers.");
        classLoader.addClassLoaderExclusion("LZMA.");
        FMLLaunchHandler.configureForServerLaunch(classLoader, this);
        FMLLaunchHandler.appendCoreMods();
    }
}

@@ -433,56 +433,38 @@
 The 
-mojang packages are excluded so the log4j2 queue
+log4j2 queue is excluded so it
  is 
@@ -485,27 +485,16 @@
 ble from
-%0A        //
  the obf
@@ -500,16 +500,27 @@
 fuscated
+%0A        //
  and deo
@@ -640,16 +640,37 @@
 .mojang.
+util.QueueLogAppender
 %22);%0A    

Exclude only log4j2 queue from class loader