93 lines
2.5 KiB
Java
93 lines
2.5 KiB
Java
package io.gitlab.jfronny.commons.log;
|
|
|
|
import io.gitlab.jfronny.commons.*;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
import java.util.Objects;
|
|
import java.util.function.Function;
|
|
|
|
public interface LogStrategy {
|
|
@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("\\{}", StringFormatter.toString(arg));
|
|
}
|
|
|
|
default String format(String format, Object... args) {
|
|
if (args == null || format == null) return format;
|
|
for (Object arg : args) {
|
|
format = format.replaceFirst("\\{}", StringFormatter.toString(arg));
|
|
}
|
|
return format;
|
|
}
|
|
|
|
default String format(String msg, Throwable t) {
|
|
if (t == null) return msg;
|
|
return msg + System.lineSeparator() + t;
|
|
}
|
|
}
|