package com.l7tech.server.log;

import com.l7tech.server.ServerConfig;
import com.l7tech.util.Config;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.JdkLoggerConfigurator;
import com.l7tech.util.ResourceUtils;
import com.l7tech.util.SyspropUtil;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.ConsoleHandler;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;

public class JdkLogConfig {
   public static final String PARAM_LOG_TO_CONSOLE;
   public static final String PARAM_LOG_TO_CONSOLE_EXTRA_CATEGORIES;
   public static final String PARAM_LOG_DEFAULT_NAME;
   public static final String PARAM_LOG_DEFAULT_LIMIT;
   public static final String PARAM_LOG_DEFAULT_COUNT;
   public static final String PARAM_LOG_DEFAULT_APPEND;
   private static final String a;
   private static final int b = 20480000;
   private static final int c = 10;
   private static final boolean d = true;
   private static final Object e;
   private static boolean f;
   private static final AtomicReference<Logger> g;
   private static final AtomicReference<List<Handler>> h;
   private static final String[] i;

   public JdkLogConfig() {
      try {
         d();
         b();
         JdkLoggerConfigurator.configure(null, i[11], null);
         a(true);
      } catch (Exception var2) {
         var2.printStackTrace();
      }
   }

   public static void configureLogging() {
      synchronized (e) {
         if (!f) {
            f = true;
            a(false);
         }
      }
   }

   private static void a(boolean var0) {
      Config var1 = ConfigFactory.getCachedConfig();
      String[] var5 = i;
      String var2 = var1.getProperty(var5[21]) + File.separator + var5[15];
      c var3 = new c();
      String var4 = !var0 ? var5[9] : null;
      if (new File(var2).exists()) {
         var5 = i;
         JdkLoggerConfigurator.configure(var4, var5[5], var2, !var0, var3);
      } else {
         var5 = i;
         JdkLoggerConfigurator.configure(var4, var5[11], var5[11], !var0, var3);
      }
   }

   private static void a() {
      ArrayList var0 = new ArrayList();
      ServerConfig var1 = ServerConfig.getInstance();
      String[] var11 = i;
      File var2 = var1.getLocalDirectoryProperty(var11[20], true);
      int var3 = com.l7tech.server.log.d.a(var11[4]);
      File var4 = new File(var2, var11[22]);
      if (var4.exists()) {
         ObjectInputStream var5 = null;

         try {
            var5 = new ObjectInputStream(new FileInputStream(var4));
            Object var6 = var5.readObject();
            if (var6 instanceof List) {
               for (Object var8 : (List)var6) {
                  if (var8 instanceof LogFileConfiguration var9) {
                     if (var3 != 0) {
                        var9 = new LogFileConfiguration(var9, var3);
                     }

                     var0.add(var9);
                  }
               }
            }
         } catch (IOException var21) {
         } catch (ClassNotFoundException var22) {
         } finally {
            ResourceUtils.closeQuietly(var5);
         }
      } else {
         try {
            ArrayList var10000;
            LogFileConfiguration var10001;
            LogFileConfiguration var10002;
            String var10003;
            int var10004;
            int var10005;
            boolean var10006;
            int var10007;
            label114: {
               try {
                  var10000 = var0;
                  var10001 = new LogFileConfiguration;
                  var10002 = var10001;
                  var10003 = com.l7tech.server.log.d.a(var1, SyspropUtil.getString(i[12], i[10]), null, true);
                  var10004 = SyspropUtil.getInteger(i[18], 20480000);
                  var10005 = SyspropUtil.getInteger(i[16], 10);
                  var10006 = SyspropUtil.getBoolean(i[1], true);
                  if (var3 != 0) {
                     var10007 = var3;
                     break label114;
                  }
               } catch (IOException var19) {
                  throw a(var19);
               }

               var10007 = Level.INFO.intValue();
            }

            var10002./* $VF: Unable to resugar constructor */<init>(var10003, var10004, var10005, var10006, var10007, i[7], null, false, null);
            var10000.add(var10001);
         } catch (IOException var20) {
         }
      }

      if (!var0.isEmpty()) {
         Logger var24 = Logger.getLogger("");
         g.set(var24);
         ArrayList var25 = new ArrayList();

         for (LogFileConfiguration var27 : var0) {
            try {
               Handler var28 = var27.buildFileHandler();
               var25.add(var28);
               var24.addHandler(var28);
            } catch (IOException var18) {
            }
         }

         h.set(var25);
      }
   }

   public static Logger getInitialRootLogger() {
      return g.get();
   }

   protected static List<Handler> getInitialRootHandlers() {
      return h.get();
   }

   private static void b() {
      String[] var0 = i;
      System.setOut(new LoggingPrintStream(Logger.getLogger(var0[2]), Level.INFO));
      System.setErr(new LoggingPrintStream(Logger.getLogger(var0[13]), Level.WARNING));
   }

   private static void c() {
      try {
         s var0 = new s();
         var0.setLevel(Level.CONFIG);
         Logger.getLogger("").addHandler(var0);
      } catch (Exception var1) {
      }
   }

   private static void d() {
      Logger var0 = Logger.getLogger("");

      for (Handler var4 : var0.getHandlers()) {
         if (var4 instanceof ConsoleHandler) {
            var0.removeHandler(var4);
         }
      }
   }

   static {
      String[] var5 = new String[23];
      int var3 = 0;
      String var2 = "\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT#tTK'Y\u001f$\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enzJH-[\u001e\u0006)\u0014_um\u001c$\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enzJH-[\u001e\n\t)uQ\u0016$P\f%w.\u0019/v\u0015T\u007fA\u001f#s\u0015K-G\f%i\u0015J-F\u00155iY];\u001a\u0016/|]Q&RT0iUH-G\u000e)~I\"\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enu[U-L_q?Nae\u0010KdoW\u0015m\u0004^4\u007fn\u001dy\u0011\u000e\b!\u001f\tlA7z>\u000b\u001c<fTe*\u001eL\u0004\u0010Kdo@\u0018m\u0007^m,I\u0018m\u0000^$;\u001f\u0000lFZe(\u001eKr\u0015_t?I\u001d&#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enwSU!A\u0012\u0019/v\u0014T\u007fA\u001f#s\u0014T'R\u001d)u]\u0003\t3|.\u0019/v\u0015T\u007fA\u001f#s\u0015K-G\f%i\u0015J-F\u00155iY];\u001a\u0016/|]Q&RT0iUH-G\u000e)~I\"\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enu[U-\u0006)\u0014_\u007fj\u001a\u0003\t3|\u0011\t3|VW/\u001b\n2tJ]:A\u0013%h#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enxUM&A#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enxUM&A#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enwSU!A'\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT#tTK'Y\u001fn~BL:T9!oI\f\f!i~Q:P\u00194tHA";
      int var4 = "\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT#tTK'Y\u001f$\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enzJH-[\u001e\u0006)\u0014_um\u001c$\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enzJH-[\u001e\n\t)uQ\u0016$P\f%w.\u0019/v\u0015T\u007fA\u001f#s\u0015K-G\f%i\u0015J-F\u00155iY];\u001a\u0016/|]Q&RT0iUH-G\u000e)~I\"\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enu[U-L_q?Nae\u0010KdoW\u0015m\u0004^4\u007fn\u001dy\u0011\u000e\b!\u001f\tlA7z>\u000b\u001c<fTe*\u001eL\u0004\u0010Kdo@\u0018m\u0007^m,I\u0018m\u0000^$;\u001f\u0000lFZe(\u001eKr\u0015_t?I\u001d&#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enwSU!A\u0012\u0019/v\u0014T\u007fA\u001f#s\u0014T'R\u001d)u]\u0003\t3|.\u0019/v\u0015T\u007fA\u001f#s\u0015K-G\f%i\u0015J-F\u00155iY];\u001a\u0016/|]Q&RT0iUH-G\u000e)~I\"\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enu[U-\u0006)\u0014_\u007fj\u001a\u0003\t3|\u0011\t3|VW/\u001b\n2tJ]:A\u0013%h#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enxUM&A#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enxUM&A#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enwSU!A'\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT#tTK'Y\u001fn~BL:T9!oI\f\f!i~Q:P\u00194tHA"
         .length();
      char var1 = 29;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 123;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     i = var5;
                     String[] var9 = i;
                     PARAM_LOG_TO_CONSOLE = i[0];
                     PARAM_LOG_DEFAULT_COUNT = var9[17];
                     a = var9[14];
                     PARAM_LOG_TO_CONSOLE_EXTRA_CATEGORIES = var9[19];
                     PARAM_LOG_DEFAULT_NAME = var9[6];
                     PARAM_LOG_DEFAULT_LIMIT = var9[8];
                     PARAM_LOG_DEFAULT_APPEND = var9[3];
                     e = new Object();
                     f = false;
                     g = new AtomicReference<>();
                     h = new AtomicReference<>(Collections.emptyList());
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "Oy#\n\u0007y'Ed(\u000f\u001aq\u0011U\u000e@y*\u001f1r\fOw!B\n\u007f\u0017";
                  var4 = "Oy#\n\u0007y'Ed(\u000f\u001aq\u0011U\u000e@y*\u001f1r\fOw!B\n\u007f\u0017".length();
                  var1 = 15;
                  var7 = -1;
            }

            var10000 = 45;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

   private static IOException a(IOException var0) {
      return var0;
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 78);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 1;
            case 1 -> 59;
            case 2 -> 96;
            case 3 -> 65;
            case 4 -> 67;
            case 5 -> 51;
            default -> 78;
         });
      }

      return new String(var10001).intern();
   }
}
