HytaleLogger class

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

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

extends: AbstractLogger<HytaleLogger.Api>

Поля (14)

МодификаторыТипИмя
final Map<String, HytaleLogger> CACHE
CACHE
LOGGER
NO_OP
HytaleFileHandler var0
String var0
String var0
LogManager var0
HytaleConsole var1
String var1
int var1
String var2
var2
var2

Методы (18)

МодификаторыВозвратСигнатура
private Contextprivate Context(@Nonnull Level nullx)
private NoOpprivate NoOp()
protected HytaleLogger.Api apiprotected HytaleLogger.Api api()
public HytaleLogger.Api atHytaleLogger.Api at(@Nonnull Level var1)
abstract return getreturn get(var1)
abstract return getreturn get(var0)
static HytaleLogger getLoggerHytaleLogger getLogger()
protected HytaleLogger getLoggerprotected HytaleLogger getLogger()
protected MessageParser getMessageParserprotected MessageParser getMessageParser()
public String getNameString getName()
static void initvoid init()
protected HytaleLogger.Api noOpprotected HytaleLogger.Api noOp()
static void replaceStdvoid replaceStd()
public void setLevelvoid setLevel(@Nonnull Level var1)
public void setPropagatesSentryToParentvoid setPropagatesSentryToParent(boolean var1)
public void setSentryClientvoid setSentryClient(@Nonnull IScopes var1)
abstract super super(var1)
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() {
      }
   }
}