废话不多说,直接上代码,copy就能用,包含打印普通,错误日志,会输出 调用的 信息 精确到行,如果对您有用 请点个赞吧~
后续进行优化的日志类-保存日志信息 根据普通日志以及错误日志 以及每天都会更换 一个日志类
优化的日志类:https://blog.csdn.net/qq_41806966/article/details/102850559
/**
* -日志类
* @author Shendi
*/
public class Log {
//是否开启日志 默认开启
private static boolean isLog = true;
/**
* -输出日志
* @param obj
*/
public static void print(Object obj) {
//日志开启才输出
if (isLog) {
//获取堆栈跟踪信息
StackTraceElement callInfo = getStackTraceInfo();
System.out.println(callInfo.getClassName()+"."+callInfo.getMethodName()+"()."+callInfo.getLineNumber()
+ ">"+obj);
}
}
/**
* -输出错误日志
* @param obj
*/
public static void printErr(Object obj) {
//日志开启才输出
if (isLog) {
//获取堆栈跟踪信息
StackTraceElement callInfo = getStackTraceInfo();
System.err.println(callInfo.getClassName()+"."+callInfo.getMethodName()+"()."+callInfo.getLineNumber()
+ ">"+obj);
}
}
/**
* -获取堆栈跟踪信息 获取调用者的调用者
* @return 信息
*/
private static StackTraceElement getStackTraceInfo() {
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
StackTraceElement callInfo = stackTraceElements[3];
return callInfo;
}
/**
* -设置是否开启日志 true开启 false关闭
* @param isLog
*/
public static void setIsLog(boolean isLog) {
StackTraceElement callInfo = getStackTraceInfo();
System.err.println(callInfo.getClassName()+"."+callInfo.getMethodName()+"()."+callInfo.getLineNumber()
+ ">设置了日志:"+isLog);
Log.isLog = isLog;
}
}