237 lines
9.2 KiB
Java
237 lines
9.2 KiB
Java
|
|
package com.idata.tools.ngbatisdemo.log;
|
|||
|
|
|
|||
|
|
import org.slf4j.Logger;
|
|||
|
|
import org.slf4j.LoggerFactory;
|
|||
|
|
import org.slf4j.spi.LocationAwareLogger;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description: Y 日志
|
|||
|
|
* @Author: li-chuan-guo
|
|||
|
|
* @Date: 2024-09-24 14:52
|
|||
|
|
**/
|
|||
|
|
public class YLogger {
|
|||
|
|
private final Logger logger;
|
|||
|
|
private final static String SPLIT_STR = "&";
|
|||
|
|
private static final String FQCN = YLogger.class.getName();
|
|||
|
|
|
|||
|
|
public YLogger(Class<?> clazz) {
|
|||
|
|
this.logger = LoggerFactory.getLogger(clazz);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 信息日志
|
|||
|
|
*
|
|||
|
|
* @param clazz 类信息,必填
|
|||
|
|
* @param methodName 方法名称, 必填
|
|||
|
|
* @param paramStr 参数串,非必填
|
|||
|
|
* @param responseStr 响应串,非必填
|
|||
|
|
* @param message 日志信息,必填
|
|||
|
|
* @param extraArgs 额外的参数,非必填
|
|||
|
|
*/
|
|||
|
|
public void info(Class<?> clazz, String methodName, String paramStr, String responseStr, String message,
|
|||
|
|
String... extraArgs) {
|
|||
|
|
try {
|
|||
|
|
String className = clazz.getName();
|
|||
|
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
sb.append(className).append(SPLIT_STR);
|
|||
|
|
sb.append(methodName == null ? "" : methodName).append(SPLIT_STR);
|
|||
|
|
sb.append(paramStr == null ? "" : paramStr).append(SPLIT_STR);
|
|||
|
|
sb.append(responseStr == null ? "" : responseStr).append(SPLIT_STR);
|
|||
|
|
sb.append(message == null ? "" : message).append(SPLIT_STR);
|
|||
|
|
if (extraArgs != null) {
|
|||
|
|
// extraArg 合并成String后拼接
|
|||
|
|
sb.append(String.join(",", extraArgs));
|
|||
|
|
}
|
|||
|
|
if (this.logger instanceof LocationAwareLogger) {
|
|||
|
|
((LocationAwareLogger) this.logger).log(null, FQCN, LocationAwareLogger.INFO_INT, sb.toString(),
|
|||
|
|
null, null);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
logger.info(sb.toString());
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
logger.info("log info fail");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 入参打印
|
|||
|
|
* @param clazz 类信息,必填
|
|||
|
|
* @param methodName 方法名称, 必填
|
|||
|
|
* @param paramStr 参数串,非必填
|
|||
|
|
* @param extraArgs 额外的参数,非必填
|
|||
|
|
*/
|
|||
|
|
public void info(Class<?> clazz, String methodName, String paramStr, String extraArgs) {
|
|||
|
|
try {
|
|||
|
|
String className = clazz.getName();
|
|||
|
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
sb.append(className).append(SPLIT_STR);
|
|||
|
|
sb.append(methodName == null ? "" : methodName).append(SPLIT_STR);
|
|||
|
|
sb.append(paramStr == null ? "" : paramStr).append(SPLIT_STR);
|
|||
|
|
if (extraArgs != null) {
|
|||
|
|
// extraArg 合并成String后拼接
|
|||
|
|
sb.append(String.join(",", extraArgs));
|
|||
|
|
}
|
|||
|
|
if (this.logger instanceof LocationAwareLogger) {
|
|||
|
|
((LocationAwareLogger) this.logger).log(null, FQCN, LocationAwareLogger.INFO_INT, sb.toString(),
|
|||
|
|
null, null);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
logger.info(sb.toString());
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
logger.info("log info fail");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 跟踪日志
|
|||
|
|
*
|
|||
|
|
* @param clazz 类信息,必填
|
|||
|
|
* @param methodName 方法名称, 必填
|
|||
|
|
* @param paramStr 参数串,非必填
|
|||
|
|
* @param extraArgs 额外的参数,非必填
|
|||
|
|
*/
|
|||
|
|
public void trace(Class<?> clazz, String methodName, String paramStr, String... extraArgs) {
|
|||
|
|
try {
|
|||
|
|
String className = clazz.getName();
|
|||
|
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
sb.append(className).append(SPLIT_STR);
|
|||
|
|
sb.append(methodName == null ? "" : methodName).append(SPLIT_STR);
|
|||
|
|
sb.append(paramStr == null ? "" : paramStr).append(SPLIT_STR);
|
|||
|
|
// extraArgs 中添加参数 trace
|
|||
|
|
if (extraArgs != null) {
|
|||
|
|
// extraArg 合并成String后拼接;
|
|||
|
|
sb.append("trace,").append(String.join(",", extraArgs));
|
|||
|
|
} else {
|
|||
|
|
sb.append("trace");
|
|||
|
|
}
|
|||
|
|
if (this.logger instanceof LocationAwareLogger) {
|
|||
|
|
((LocationAwareLogger) this.logger).log(null, FQCN, LocationAwareLogger.INFO_INT, sb.toString(),
|
|||
|
|
null, null);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
logger.info(sb.toString());
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
logger.info("log info fail");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 错误日志
|
|||
|
|
*
|
|||
|
|
* @param clazz 类信息,必填
|
|||
|
|
* @param methodName 方法名称 ,必填
|
|||
|
|
* @param paramStr 参数串 ,必填
|
|||
|
|
* @param errMsg 异常信息 ,必填
|
|||
|
|
* @param e 异常堆栈 ,非必填
|
|||
|
|
*/
|
|||
|
|
public void error(Class<?> clazz, String methodName, String paramStr, String errMsg, Exception e) {
|
|||
|
|
try {
|
|||
|
|
String className = clazz.getName();
|
|||
|
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
sb.append(className).append(SPLIT_STR);
|
|||
|
|
sb.append(methodName == null ? "" : methodName).append(SPLIT_STR);
|
|||
|
|
sb.append(paramStr == null ? "" : paramStr).append(SPLIT_STR);
|
|||
|
|
sb.append(errMsg == null ? "" : errMsg).append(SPLIT_STR);
|
|||
|
|
if (e != null) {
|
|||
|
|
if (this.logger instanceof LocationAwareLogger) {
|
|||
|
|
((LocationAwareLogger) this.logger).log(null, FQCN, LocationAwareLogger.ERROR_INT, sb.toString(),
|
|||
|
|
null, e);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
logger.error(sb.toString(), e);
|
|||
|
|
} else {
|
|||
|
|
if (this.logger instanceof LocationAwareLogger) {
|
|||
|
|
((LocationAwareLogger) this.logger).log(null, FQCN, LocationAwareLogger.ERROR_INT, sb.toString(),
|
|||
|
|
null, null);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
logger.error(sb.toString());
|
|||
|
|
}
|
|||
|
|
} catch (Exception e2) {
|
|||
|
|
logger.error("log error fail");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 错误日志
|
|||
|
|
*
|
|||
|
|
* @param clazz 类信息,必填
|
|||
|
|
* @param methodName 方法名称 ,必填
|
|||
|
|
* @param paramStr 参数串 ,必填
|
|||
|
|
* @param errMsg 异常信息 ,必填
|
|||
|
|
*/
|
|||
|
|
public void error(Class<?> clazz, String methodName, String paramStr, String errMsg) {
|
|||
|
|
try {
|
|||
|
|
String className = clazz.getName();
|
|||
|
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
sb.append(className).append(SPLIT_STR);
|
|||
|
|
sb.append(methodName == null ? "" : methodName).append(SPLIT_STR);
|
|||
|
|
sb.append(paramStr == null ? "" : paramStr).append(SPLIT_STR);
|
|||
|
|
sb.append(errMsg == null ? "" : errMsg);
|
|||
|
|
if (this.logger instanceof LocationAwareLogger) {
|
|||
|
|
((LocationAwareLogger) this.logger).log(null, FQCN, LocationAwareLogger.ERROR_INT, sb.toString(),
|
|||
|
|
null, null);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
logger.error(sb.toString());
|
|||
|
|
} catch (Exception e2) {
|
|||
|
|
logger.error("log error fail");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 警告日志
|
|||
|
|
*
|
|||
|
|
* @param clazz 类信息,必填
|
|||
|
|
* @param methodName 方法名称 ,必填
|
|||
|
|
* @param paramStr 参数串 ,必填
|
|||
|
|
* @param warnMsg 警告信息 ,必填
|
|||
|
|
* @param extraArgs 额外参数 ,非必填
|
|||
|
|
*/
|
|||
|
|
public void warn(Class<?> clazz, String methodName, String paramStr, String warnMsg, String... extraArgs) {
|
|||
|
|
try {
|
|||
|
|
String className = clazz.getName();
|
|||
|
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
sb.append(className).append(SPLIT_STR);
|
|||
|
|
sb.append(methodName == null ? "" : methodName).append(SPLIT_STR);
|
|||
|
|
sb.append(paramStr == null ? "" : paramStr).append(SPLIT_STR);
|
|||
|
|
sb.append(warnMsg == null ? "" : warnMsg);
|
|||
|
|
if (extraArgs != null) {
|
|||
|
|
sb.append(SPLIT_STR).append(String.join(",", extraArgs));
|
|||
|
|
}
|
|||
|
|
if (this.logger instanceof LocationAwareLogger) {
|
|||
|
|
((LocationAwareLogger) this.logger).log(null, FQCN, LocationAwareLogger.WARN_INT, sb.toString(),
|
|||
|
|
null, null);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
logger.warn(sb.toString());
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
logger.warn("log warn fail");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void debug(Class<?> clazz, String methodName, String paramStr, String debugMsg, String... extraArgs) {
|
|||
|
|
try {
|
|||
|
|
String className = clazz.getName();
|
|||
|
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
sb.append(className).append(SPLIT_STR);
|
|||
|
|
sb.append(methodName == null ? "" : methodName).append(SPLIT_STR);
|
|||
|
|
sb.append(paramStr == null ? "" : paramStr).append(SPLIT_STR);
|
|||
|
|
sb.append(debugMsg == null ? "" : debugMsg);
|
|||
|
|
if (extraArgs != null) {
|
|||
|
|
sb.append(SPLIT_STR).append(String.join(",", extraArgs));
|
|||
|
|
}
|
|||
|
|
if (this.logger instanceof LocationAwareLogger) {
|
|||
|
|
((LocationAwareLogger) this.logger).log(null, FQCN, LocationAwareLogger.WARN_INT, sb.toString(),
|
|||
|
|
null, null);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
logger.debug(sb.toString());
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
logger.debug("log debug fail");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|