Created
December 18, 2024 13:44
-
-
Save venator85/cbf61dcc020415586ff0c645463d88a8 to your computer and use it in GitHub Desktop.
StdOutLogger
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.slf4j.Logger; | |
import org.slf4j.Marker; | |
import java.util.regex.Matcher; | |
import java.util.regex.Pattern; | |
public class StdOutLogger implements Logger { | |
private final String name; | |
private static final Pattern PLACEHOLDER_PATTERN = Pattern.compile("\\{}"); | |
public StdOutLogger(String name) { | |
this.name = name; | |
} | |
@Override | |
public String getName() { | |
return name; | |
} | |
private void log(String level, String message, Throwable t) { | |
String log = String.format("[%s] [%s] %s", level, name, message); | |
System.out.println(log); | |
if (t != null) { | |
t.printStackTrace(System.out); | |
} | |
} | |
private String formatMessage(String format, Object... arguments) { | |
if (arguments == null || arguments.length == 0) { | |
return format; | |
} | |
Matcher matcher = PLACEHOLDER_PATTERN.matcher(format); | |
StringBuffer sb = new StringBuffer(); | |
int i = 0; | |
while (matcher.find() && i < arguments.length) { | |
matcher.appendReplacement(sb, arguments[i] == null ? "null" : arguments[i].toString()); | |
i++; | |
} | |
matcher.appendTail(sb); | |
return sb.toString(); | |
} | |
@Override | |
public void debug(String msg) { | |
log("DEBUG", msg, null); | |
} | |
@Override | |
public void debug(String format, Object arg) { | |
log("DEBUG", formatMessage(format, arg), null); | |
} | |
@Override | |
public void debug(String format, Object arg1, Object arg2) { | |
log("DEBUG", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void debug(String format, Object... arguments) { | |
log("DEBUG", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void debug(String msg, Throwable t) { | |
log("DEBUG", msg, t); | |
} | |
@Override | |
public void debug(Marker marker, String msg) { | |
log("DEBUG", msg, null); | |
} | |
@Override | |
public void debug(Marker marker, String format, Object arg) { | |
log("DEBUG", formatMessage(format, arg), null); | |
} | |
@Override | |
public void debug(Marker marker, String format, Object arg1, Object arg2) { | |
log("DEBUG", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void debug(Marker marker, String format, Object... arguments) { | |
log("DEBUG", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void debug(Marker marker, String msg, Throwable t) { | |
log("DEBUG", msg, t); | |
} | |
@Override | |
public void error(String msg) { | |
log("ERROR", msg, null); | |
} | |
@Override | |
public void error(String format, Object arg) { | |
log("ERROR", formatMessage(format, arg), null); | |
} | |
@Override | |
public void error(String format, Object arg1, Object arg2) { | |
log("ERROR", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void error(String format, Object... arguments) { | |
log("ERROR", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void error(String msg, Throwable t) { | |
log("ERROR", msg, t); | |
} | |
@Override | |
public void error(Marker marker, String msg) { | |
log("ERROR", msg, null); | |
} | |
@Override | |
public void error(Marker marker, String format, Object arg) { | |
log("ERROR", formatMessage(format, arg), null); | |
} | |
@Override | |
public void error(Marker marker, String format, Object arg1, Object arg2) { | |
log("ERROR", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void error(Marker marker, String format, Object... arguments) { | |
log("ERROR", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void error(Marker marker, String msg, Throwable t) { | |
log("ERROR", msg, t); | |
} | |
@Override | |
public void info(String msg) { | |
log("INFO", msg, null); | |
} | |
@Override | |
public void info(String format, Object arg) { | |
log("INFO", formatMessage(format, arg), null); | |
} | |
@Override | |
public void info(String format, Object arg1, Object arg2) { | |
log("INFO", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void info(String format, Object... arguments) { | |
log("INFO", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void info(String msg, Throwable t) { | |
log("INFO", msg, t); | |
} | |
@Override | |
public void info(Marker marker, String msg) { | |
log("INFO", msg, null); | |
} | |
@Override | |
public void info(Marker marker, String format, Object arg) { | |
log("INFO", formatMessage(format, arg), null); | |
} | |
@Override | |
public void info(Marker marker, String format, Object arg1, Object arg2) { | |
log("INFO", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void info(Marker marker, String format, Object... arguments) { | |
log("INFO", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void info(Marker marker, String msg, Throwable t) { | |
log("INFO", msg, t); | |
} | |
@Override | |
public void trace(String msg) { | |
log("TRACE", msg, null); | |
} | |
@Override | |
public void trace(String format, Object arg) { | |
log("TRACE", formatMessage(format, arg), null); | |
} | |
@Override | |
public void trace(String format, Object arg1, Object arg2) { | |
log("TRACE", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void trace(String format, Object... arguments) { | |
log("TRACE", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void trace(String msg, Throwable t) { | |
log("TRACE", msg, t); | |
} | |
@Override | |
public void trace(Marker marker, String msg) { | |
log("TRACE", msg, null); | |
} | |
@Override | |
public void trace(Marker marker, String format, Object arg) { | |
log("TRACE", formatMessage(format, arg), null); | |
} | |
@Override | |
public void trace(Marker marker, String format, Object arg1, Object arg2) { | |
log("TRACE", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void trace(Marker marker, String format, Object... arguments) { | |
log("TRACE", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void trace(Marker marker, String msg, Throwable t) { | |
log("TRACE", msg, t); | |
} | |
@Override | |
public void warn(String msg) { | |
log("WARN", msg, null); | |
} | |
@Override | |
public void warn(String format, Object arg) { | |
log("WARN", formatMessage(format, arg), null); | |
} | |
@Override | |
public void warn(String format, Object arg1, Object arg2) { | |
log("WARN", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void warn(String format, Object... arguments) { | |
log("WARN", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void warn(String msg, Throwable t) { | |
log("WARN", msg, t); | |
} | |
@Override | |
public void warn(Marker marker, String msg) { | |
log("WARN", msg, null); | |
} | |
@Override | |
public void warn(Marker marker, String format, Object arg) { | |
log("WARN", formatMessage(format, arg), null); | |
} | |
@Override | |
public void warn(Marker marker, String format, Object arg1, Object arg2) { | |
log("WARN", formatMessage(format, arg1, arg2), null); | |
} | |
@Override | |
public void warn(Marker marker, String format, Object... arguments) { | |
log("WARN", formatMessage(format, arguments), null); | |
} | |
@Override | |
public void warn(Marker marker, String msg, Throwable t) { | |
log("WARN", msg, t); | |
} | |
@Override | |
public boolean isTraceEnabled() { | |
return true; | |
} | |
@Override | |
public boolean isTraceEnabled(Marker marker) { | |
return true; | |
} | |
@Override | |
public boolean isDebugEnabled() { | |
return true; | |
} | |
@Override | |
public boolean isDebugEnabled(Marker marker) { | |
return true; | |
} | |
@Override | |
public boolean isInfoEnabled() { | |
return true; | |
} | |
@Override | |
public boolean isInfoEnabled(Marker marker) { | |
return true; | |
} | |
@Override | |
public boolean isWarnEnabled() { | |
return true; | |
} | |
@Override | |
public boolean isWarnEnabled(Marker marker) { | |
return true; | |
} | |
@Override | |
public boolean isErrorEnabled() { | |
return true; | |
} | |
@Override | |
public boolean isErrorEnabled(Marker marker) { | |
return true; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment