文章目录
- 1 带分割线版
- 2 不带分割线版
- 3 终极版
1 带分割线版
import java.text.SimpleDateFormat;
import java.util.Date;/*** W SKH 的输出工具类*/
public class LogUtil {private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss.SSS");private String line = "------------------------------------------------------------------------------------------------------------------------------------------------------";public void common(String message, boolean canBePrint) {if (canBePrint) {String str = "Info-[" + simpleDateFormat.format(new Date()) + "]:" + line + "\n" + message;System.out.format("\033[1;29m","utf-8");System.out.println(str);after();}}public void info(String message, boolean canBePrint) {if (canBePrint) {String str = "Info-[" + simpleDateFormat.format(new Date()) + "]:" + line + "\n" + message;System.out.format("\033[1;34m");System.out.println(str);after();}}public void error(String message, boolean canBePrint) {if (canBePrint) {String str = "Error-[" + simpleDateFormat.format(new Date()) + "]:" + line + "\n" + message;System.out.format("\033[1;31m");System.out.println(str);after();}}public void success(String message, boolean canBePrint) {if (canBePrint) {String str = "Success-[" + simpleDateFormat.format(new Date()) + "]:" + line + "\n" + message;System.out.format("\033[1;32m");System.out.println(str);after();}}public void warning(String message, boolean canBePrint) {if (canBePrint) {String str = "Warning-[" + simpleDateFormat.format(new Date()) + "]:" + line + "\n" + message;System.out.format("\033[1;33m");System.out.println(str);after();}}public void after() {System.out.format("\033[0;29m");}}
2 不带分割线版
import java.text.SimpleDateFormat;
import java.util.Date;/*** W SKH 的输出工具类*/
public class LogUtil {private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss.SSS");public void common(String message, boolean canBePrint) {if (canBePrint) {String str = "Common-[" + simpleDateFormat.format(new Date()) + "] : " + message;System.out.format("\033[1;29m","utf-8");System.out.println(str);after();}}public void info(String message, boolean canBePrint) {if (canBePrint) {String str = "Info-[" + simpleDateFormat.format(new Date()) + "] : "+ message;System.out.format("\033[1;34m");System.out.println(str);after();}}public void error(String message, boolean canBePrint) {if (canBePrint) {String str = "Error-[" + simpleDateFormat.format(new Date()) + "] : " + message;System.out.format("\033[1;31m");System.out.println(str);after();}}public void success(String message, boolean canBePrint) {if (canBePrint) {String str = "Success-[" + simpleDateFormat.format(new Date()) + "] : " + message;System.out.format("\033[1;32m");System.out.println(str);after();}}public void warning(String message, boolean canBePrint) {if (canBePrint) {String str = "Warning-[" + simpleDateFormat.format(new Date()) + "] :" + message;System.out.format("\033[1;33m");System.out.println(str);after();}}public void after() {System.out.format("\033[0;29m");}}
3 终极版
终极版取消了字体加粗,并且增加了warning和debug两种输出格式,在输出的信息中可以定位到使用LogUtil输出的语句所在位置,例如下图所示 util.TestLog.main.18(就是说在util包下的TestLog类中的main方法里,输出语句位于该类的18行)
import java.text.SimpleDateFormat;
import java.util.Date;/*** W SKH 的输出工具类*/
public class LogUtil {protected static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");protected static String after = "\033[0;29m";public static boolean canBePrint = true;public static void common(String message) {if (canBePrint) {StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1];String classMsg = stackTraceElement.getClassName() + "." + stackTraceElement.getMethodName() + "." + stackTraceElement.getLineNumber();System.out.format("\033[0;29m");System.out.printf("%-8s", "COMMON");System.out.printf("%-26s", "[" + simpleDateFormat.format(new Date()) + "]");System.out.printf("%-1s", "[" + classMsg + "]");System.out.print(" : " + message + "\n");after();}}public static void debug(String message) {if (canBePrint) {StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1];String classMsg = stackTraceElement.getClassName() + "." + stackTraceElement.getMethodName() + "." + stackTraceElement.getLineNumber();System.out.format("\033[0;35m");System.out.printf("%-8s", "DEBUG");System.out.printf("%-26s", "[" + simpleDateFormat.format(new Date()) + "]");System.out.printf("%-1s", "[" + classMsg + "]");System.out.print(" : " + message + "\n");after();}}public static void info(String message) {if (canBePrint) {StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1];String classMsg = stackTraceElement.getClassName() + "." + stackTraceElement.getMethodName() + "." + stackTraceElement.getLineNumber();System.out.format("\033[0;34m");System.out.printf("%-8s", "INFO");System.out.printf("%-26s", "[" + simpleDateFormat.format(new Date()) + "]");System.out.printf("%-1s", "[" + classMsg + "]");System.out.print(" : " + message + "\n");after();}}public static void error(String message) {if (canBePrint) {StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1];String classMsg = stackTraceElement.getClassName() + "." + stackTraceElement.getMethodName() + "." + stackTraceElement.getLineNumber();System.out.format("\033[0;31m");System.out.printf("%-8s", "ERROR");System.out.printf("%-26s", "[" + simpleDateFormat.format(new Date()) + "]");System.out.printf("%-1s", "[" + classMsg + "]");System.out.print(" : " + message + "\n");after();}}public static void success(String message) {if (canBePrint) {StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1];String classMsg = stackTraceElement.getClassName() + "." + stackTraceElement.getMethodName() + "." + stackTraceElement.getLineNumber();System.out.format("\033[0;32m");System.out.printf("%-8s", "SUCCESS");System.out.printf("%-26s", "[" + simpleDateFormat.format(new Date()) + "]");System.out.printf("%-1s", "[" + classMsg + "]");System.out.print(" : " + message + "\n");after();}}public static void warning(String message) {if (canBePrint) {StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1];String classMsg = stackTraceElement.getClassName() + "." + stackTraceElement.getMethodName() + "." + stackTraceElement.getLineNumber();System.out.format("\033[0;33m");System.out.printf("%-8s", "WARNING");System.out.printf("%-26s", "[" + simpleDateFormat.format(new Date()) + "]");System.out.printf("%-1s", "[" + classMsg + "]");System.out.print(" : " + message + "\n");after();}}public static void after() {System.out.format(after);}}