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() {
}
}
}