Context class

Пакет: com.hypixel.hytale.logger

Файл: com/hypixel/hytale/logger/HytaleLogger.java

extends: LogContext<HytaleLogger, HytaleLogger.Api>

implements: HytaleLogger.Api

Методы (5)

МодификаторыВозвратСигнатура
protected HytaleLogger.Api apiprotected HytaleLogger.Api api()
protected HytaleLogger getLoggerprotected HytaleLogger getLogger()
protected MessageParser getMessageParserprotected MessageParser getMessageParser()
protected HytaleLogger.Api noOpprotected HytaleLogger.Api noOp()
abstract super super(nullx, false)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.logger;

class="kw">import com.google.common.flogger.AbstractLogger;
class="kw">import com.google.common.flogger.LogContext;
class="kw">import com.google.common.flogger.LoggingApi;
class="kw">import com.google.common.flogger.backend.Platform;
class="kw">import com.google.common.flogger.parser.DefaultPrintfMessageParser;
class="kw">import com.google.common.flogger.parser.MessageParser;
class="kw">import com.hypixel.hytale.logger.backend.HytaleConsole;
class="kw">import com.hypixel.hytale.logger.backend.HytaleFileHandler;
class="kw">import com.hypixel.hytale.logger.backend.HytaleLogManager;
class="kw">import com.hypixel.hytale.logger.backend.HytaleLoggerBackend;
class="kw">import com.hypixel.hytale.logger.backend.HytaleUncaughtExceptionHandler;
class="kw">import com.hypixel.hytale.logger.util.LoggerPrintStream;
class="kw">import io.sentry.IScopes;
class="kw">import java.util.Map;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import java.util.logging.Level;
class="kw">import java.util.logging.LogManager;
class="kw">import javax.annotation.Nonnull;

class="kw">public class HytaleLogger class="kw">extends AbstractLogger<HytaleLogger.Api> {
   class="kw">private class="kw">static class="kw">final Map<String, HytaleLogger> CACHE;
   class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER;
   class="kw">static class="kw">final HytaleLogger.NoOp NO_OP;
   @Nonnull
   class="kw">private class="kw">final HytaleLoggerBackend backend;

   class="kw">public class="kw">static void init() {
      HytaleFileHandler var0 = HytaleFileHandler.INSTANCE;
      HytaleConsole var1 = HytaleConsole.INSTANCE;
      LOGGER.at(Level.INFO).log("Logger Initialized");
   }

   class="kw">public class="kw">static void replaceStd() {
      if (!HytaleLoggerBackend.isJunitTest()) {
         System.setOut(new LoggerPrintStream(get("SOUT"), Level.INFO));
         System.setErr(new LoggerPrintStream(get("SERR"), Level.SEVERE));
      }
   }

   class="kw">public class="kw">static HytaleLogger getLogger() {
      class="kw">return LOGGER;
   }

   @Nonnull
   class="kw">public class="kw">static HytaleLogger forEnclosingClass() {
      String var0 = Platform.getCallerFinder().findLoggingClass(HytaleLogger.class);
      String var1 = classToLoggerName(var0);
      class="kw">return get(var1);
   }

   @Nonnull
   class="kw">public class="kw">static HytaleLogger forEnclosingClassFull() {
      String var0 = Platform.getCallerFinder().findLoggingClass(HytaleLogger.class);
      class="kw">return get(var0);
   }

   @Nonnull
   class="kw">public class="kw">static HytaleLogger get(String var0) {
      class="kw">return CACHE.computeIfAbsent(var0, var0x -> new HytaleLogger(HytaleLoggerBackend.getLogger(var0x)));
   }

   class="kw">private HytaleLogger(@Nonnull HytaleLoggerBackend var1) {
      super(var1);
      this.backend = var1;
   }

   class="kw">public HytaleLogger.Api at(@Nonnull Level var1) {
      class="kw">return this.isLoggable(var1) ? new HytaleLogger.Context(var1) : NO_OP;
   }

   class="kw">public String getName() {
      class="kw">return super.getName();
   }

   @Nonnull
   class="kw">public Level getLevel() {
      class="kw">return this.backend.getLevel();
   }

   class="kw">public void setLevel(@Nonnull Level var1) {
      this.backend.setLevel(var1);
   }

   @Nonnull
   class="kw">public HytaleLogger getSubLogger(String var1) {
      class="kw">return new HytaleLogger(this.backend.getSubLogger(var1));
   }

   class="kw">public void setSentryClient(@Nonnull IScopes var1) {
      this.backend.setSentryClient(var1);
   }

   class="kw">public void setPropagatesSentryToParent(boolean var1) {
      this.backend.setPropagatesSentryToParent(var1);
   }

   @Nonnull
   class="kw">private class="kw">static String classToLoggerName(@Nonnull String var0) {
      int var1 = var0.lastIndexOf(46);
      String var2;
      if (var1 >= 0 && var0.length() > var1 + 1) {
         var2 = var0.substring(var1 + 1);
      } else {
         var2 = var0;
      }

      class="kw">return var2;
   }

   class="kw">static {
      System.setProperty("java.util.logging.manager", HytaleLogManager.class.getName());
      HytaleUncaughtExceptionHandler.setup();
      LogManager var0 = LogManager.getLogManager();
      if (!var0.getClass().getName().equals(HytaleLogManager.class.getName())) {
         throw new IllegalStateException(
            "Log manager wasn't set! Please ensure HytaleLogger is the first logger to be initialized or\nuse `System.setProperty(\"java.util.logging.manager\", HytaleLogManager.class.getName());` at the start of your application.\nLog manager is: "
               + var0
         );
      }

      CACHE = new ConcurrentHashMap<>();
      LOGGER = new HytaleLogger(HytaleLoggerBackend.getLogger());
      NO_OP = new HytaleLogger.NoOp();
   }

   class="kw">public class="kw">interface Api class="kw">extends LoggingApi<HytaleLogger.Api> {
   }

   class="kw">final class Context class="kw">extends LogContext<HytaleLogger, HytaleLogger.Api> class="kw">implements HytaleLogger.Api {
      class="kw">private Context(@Nonnull Level nullx) {
         super(nullx, false);
      }

      @Nonnull
      class="kw">protected HytaleLogger getLogger() {
         class="kw">return HytaleLogger.this;
      }

      @Nonnull
      class="kw">protected HytaleLogger.Api api() {
         class="kw">return this;
      }

      @Nonnull
      class="kw">protected HytaleLogger.Api noOp() {
         class="kw">return HytaleLogger.NO_OP;
      }

      class="kw">protected MessageParser getMessageParser() {
         class="kw">return DefaultPrintfMessageParser.getInstance();
      }
   }

   class="kw">private class="kw">static class="kw">final class NoOp class="kw">extends com.google.common.flogger.LoggingApi.NoOp<HytaleLogger.Api> class="kw">implements HytaleLogger.Api {
      class="kw">private NoOp() {
      }
   }
}