110 lines
3.1 KiB
Java
110 lines
3.1 KiB
Java
package io.gitlab.jfronny.commons.logging;
|
|
|
|
import io.gitlab.jfronny.commons.StringFormatter;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
import java.util.Objects;
|
|
import java.util.function.Function;
|
|
import java.util.regex.Matcher;
|
|
|
|
public interface Logger {
|
|
static Logger forName(@NotNull String name) {
|
|
return HotSwappingDelegateLogger.forName(Objects.requireNonNull(name));
|
|
}
|
|
|
|
static void registerFactory(@NotNull Function<String, Logger> factory) {
|
|
HotSwappingDelegateLogger.updateStrategy(Objects.requireNonNull(factory));
|
|
}
|
|
|
|
static void resetFactory() {
|
|
HotSwappingDelegateLogger.resetStrategy();
|
|
}
|
|
|
|
static void setMinimumLevel(@NotNull Level level) {
|
|
HotSwappingDelegateLogger.updateMinimumLevel(level);
|
|
}
|
|
|
|
@Nullable String getName();
|
|
|
|
default void trace(String msg) {
|
|
debug(msg);
|
|
}
|
|
default void trace(String format, Object arg) {
|
|
trace(format(format, arg));
|
|
}
|
|
default void trace(String format, Object... args) {
|
|
trace(format(format, args));
|
|
}
|
|
default void trace(String msg, Throwable t) {
|
|
trace(format(msg, t));
|
|
}
|
|
|
|
default void debug(String msg) {
|
|
info(msg);
|
|
}
|
|
default void debug(String format, Object arg) {
|
|
debug(format(format, arg));
|
|
}
|
|
default void debug(String format, Object... args) {
|
|
debug(format(format, args));
|
|
}
|
|
default void debug(String msg, Throwable t) {
|
|
debug(format(msg, t));
|
|
}
|
|
|
|
void info(String msg);
|
|
default void info(String format, Object arg) {
|
|
info(format(format, arg));
|
|
}
|
|
default void info(String format, Object... args) {
|
|
info(format(format, args));
|
|
}
|
|
default void info(String msg, Throwable t) {
|
|
info(format(msg, t));
|
|
}
|
|
|
|
default void warn(String msg) {
|
|
info(msg);
|
|
}
|
|
default void warn(String format, Object arg) {
|
|
warn(format(format, arg));
|
|
}
|
|
default void warn(String format, Object... args) {
|
|
warn(format(format, args));
|
|
}
|
|
default void warn(String msg, Throwable t) {
|
|
warn(format(msg, t));
|
|
}
|
|
|
|
default void error(String msg) {
|
|
warn(msg);
|
|
}
|
|
default void error(String format, Object arg) {
|
|
error(format(format, arg));
|
|
}
|
|
default void error(String format, Object... args) {
|
|
error(format(format, args));
|
|
}
|
|
default void error(String msg, Throwable t) {
|
|
error(format(msg, t));
|
|
}
|
|
|
|
default String format(String format, Object arg) {
|
|
return format.replaceFirst("\\{}", Matcher.quoteReplacement(StringFormatter.toString(arg)));
|
|
}
|
|
|
|
default String format(String format, Object... args) {
|
|
if (args == null || format == null) return format;
|
|
for (Object arg : args) {
|
|
format = format.replaceFirst("\\{}", Matcher.quoteReplacement(StringFormatter.toString(arg)));
|
|
}
|
|
return format;
|
|
}
|
|
|
|
default String format(String msg, Throwable t) {
|
|
if (t == null) return msg;
|
|
return msg + System.lineSeparator() + StringFormatter.toString(t);
|
|
}
|
|
}
|