|
@@ -29,6 +29,17 @@ public final class LoggingContextHolder {
|
|
private LoggingContextHolder() {
|
|
private LoggingContextHolder() {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 获取日志处理器
|
|
|
|
+ *
|
|
|
|
+ * @param name 处理器名称
|
|
|
|
+ * @return 处理器实例
|
|
|
|
+ */
|
|
|
|
+ public static Logger logger(@NonNull String name) {
|
|
|
|
+ ILoggerFactory factory = LoggerFactory.getILoggerFactory();
|
|
|
|
+ return factory instanceof LoggerContext ? ((LoggerContext) factory).exists(name) : factory.getLogger(name);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取日志信息
|
|
* 获取日志信息
|
|
*
|
|
*
|
|
@@ -84,40 +95,16 @@ public final class LoggingContextHolder {
|
|
return buffer.toString();
|
|
return buffer.toString();
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 获取日志信息
|
|
|
|
- *
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- * @return 消息内容
|
|
|
|
- */
|
|
|
|
- public static String message(ServletRequest request, Throwable t) {
|
|
|
|
- return message(request, true, t);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 获取日志信息
|
|
|
|
- *
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- * @return 消息内容
|
|
|
|
- */
|
|
|
|
- public static String message(ServletRequest request, boolean embody, Throwable t) {
|
|
|
|
- return message(request, embody, ObjectUtils.ifNull(t, Throwable::getMessage));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 获取日志信息
|
|
* 获取日志信息
|
|
*
|
|
*
|
|
* @param request 请求对象
|
|
* @param request 请求对象
|
|
- * @param embody 是否包含请求体
|
|
|
|
* @param messages 消息内容数组
|
|
* @param messages 消息内容数组
|
|
* @return 消息内容
|
|
* @return 消息内容
|
|
*/
|
|
*/
|
|
- public static String message(ServletRequest request, boolean embody, @NonNull Object... messages) {
|
|
|
|
|
|
+ public static String message(ServletRequest request, @NonNull Object... messages) {
|
|
if (!(request instanceof HttpServletRequest)) {
|
|
if (!(request instanceof HttpServletRequest)) {
|
|
- return message(null, messages);
|
|
|
|
|
|
+ return message((String) null, messages);
|
|
}
|
|
}
|
|
StringBuilder endpoint = new StringBuilder();
|
|
StringBuilder endpoint = new StringBuilder();
|
|
endpoint.append(((HttpServletRequest) request).getMethod());
|
|
endpoint.append(((HttpServletRequest) request).getMethod());
|
|
@@ -127,8 +114,8 @@ public final class LoggingContextHolder {
|
|
if (StringUtils.notEmpty(query)) {
|
|
if (StringUtils.notEmpty(query)) {
|
|
endpoint.append("?").append(query);
|
|
endpoint.append("?").append(query);
|
|
}
|
|
}
|
|
- if (embody && HttpUtils.isBodyType(request) && !HttpUtils.isStreamBody(request)) {
|
|
|
|
- String body = HttpUtils.getBody(request);
|
|
|
|
|
|
+ if (HttpUtils.isBodyType(request) && !HttpUtils.isStreamBody(request)) {
|
|
|
|
+ String body = HttpUtils.getBody(request, true);
|
|
if (StringUtils.notEmpty(body)) {
|
|
if (StringUtils.notEmpty(body)) {
|
|
endpoint.append(StringUtils.SPACE);
|
|
endpoint.append(StringUtils.SPACE);
|
|
endpoint.append(StringUtils.replace(body, '\n', '\0'));
|
|
endpoint.append(StringUtils.replace(body, '\n', '\0'));
|
|
@@ -142,13 +129,12 @@ public final class LoggingContextHolder {
|
|
*
|
|
*
|
|
* @param logger 日志处理器
|
|
* @param logger 日志处理器
|
|
* @param request 请求对象
|
|
* @param request 请求对象
|
|
- * @param embody 是否包含请求体
|
|
|
|
* @param t 异常对象实例
|
|
* @param t 异常对象实例
|
|
* @return 消息内容
|
|
* @return 消息内容
|
|
*/
|
|
*/
|
|
- private static String message(Logger logger, ServletRequest request, boolean embody, Throwable t) {
|
|
|
|
|
|
+ public static String message(@NonNull Logger logger, ServletRequest request, Throwable t) {
|
|
try {
|
|
try {
|
|
- return message(request, embody, t);
|
|
|
|
|
|
+ return t == null ? message(request) : message(request, t.getMessage());
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
logger.error("Logging context message build failed", e);
|
|
logger.error("Logging context message build failed", e);
|
|
return ObjectUtils.ifNull(t, Throwable::getMessage);
|
|
return ObjectUtils.ifNull(t, Throwable::getMessage);
|
|
@@ -160,13 +146,12 @@ public final class LoggingContextHolder {
|
|
*
|
|
*
|
|
* @param logger 日志处理器
|
|
* @param logger 日志处理器
|
|
* @param request 请求对象
|
|
* @param request 请求对象
|
|
- * @param embody 是否包含请求体
|
|
|
|
* @param messages 消息内容数组
|
|
* @param messages 消息内容数组
|
|
* @return 消息内容
|
|
* @return 消息内容
|
|
*/
|
|
*/
|
|
- private static String message(Logger logger, ServletRequest request, boolean embody, Object... messages) {
|
|
|
|
|
|
+ public static String message(@NonNull Logger logger, ServletRequest request, @NonNull Object... messages) {
|
|
try {
|
|
try {
|
|
- return message(request, embody, messages);
|
|
|
|
|
|
+ return message(request, messages);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
logger.error("Logging context message build failed", e);
|
|
logger.error("Logging context message build failed", e);
|
|
if (ObjectUtils.isEmpty(messages)) {
|
|
if (ObjectUtils.isEmpty(messages)) {
|
|
@@ -185,17 +170,6 @@ public final class LoggingContextHolder {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 获取日志处理器
|
|
|
|
- *
|
|
|
|
- * @param name 处理器名称
|
|
|
|
- * @return 处理器实例
|
|
|
|
- */
|
|
|
|
- public static Logger logger(@NonNull String name) {
|
|
|
|
- ILoggerFactory factory = LoggerFactory.getILoggerFactory();
|
|
|
|
- return factory instanceof LoggerContext ? ((LoggerContext) factory).exists(name) : factory.getLogger(name);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 打印正常日志
|
|
* 打印正常日志
|
|
*
|
|
*
|
|
@@ -203,18 +177,7 @@ public final class LoggingContextHolder {
|
|
* @param messages 消息数组
|
|
* @param messages 消息数组
|
|
*/
|
|
*/
|
|
public static void info(@NonNull Logger logger, @NonNull Object... messages) {
|
|
public static void info(@NonNull Logger logger, @NonNull Object... messages) {
|
|
- info(logger, true, messages);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印正常日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param messages 消息数组
|
|
|
|
- */
|
|
|
|
- public static void info(@NonNull Logger logger, boolean embody, @NonNull Object... messages) {
|
|
|
|
- info(logger, SessionContextHolder.getRequest(), embody, messages);
|
|
|
|
|
|
+ info(logger, SessionContextHolder.getRequest(), messages);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -225,20 +188,7 @@ public final class LoggingContextHolder {
|
|
* @param messages 消息数组
|
|
* @param messages 消息数组
|
|
*/
|
|
*/
|
|
public static void info(@NonNull Logger logger, ServletRequest request, @NonNull Object... messages) {
|
|
public static void info(@NonNull Logger logger, ServletRequest request, @NonNull Object... messages) {
|
|
- info(logger, request, true, messages);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印正常日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param messages 消息数组
|
|
|
|
- */
|
|
|
|
- public static void info(@NonNull Logger logger, ServletRequest request, boolean embody,
|
|
|
|
- @NonNull Object... messages) {
|
|
|
|
- logger.info(message(logger, request, embody, messages));
|
|
|
|
|
|
+ logger.info(message(logger, request, messages));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -248,18 +198,7 @@ public final class LoggingContextHolder {
|
|
* @param t 异常对象实例
|
|
* @param t 异常对象实例
|
|
*/
|
|
*/
|
|
public static void warn(@NonNull Logger logger, @NonNull Throwable t) {
|
|
public static void warn(@NonNull Logger logger, @NonNull Throwable t) {
|
|
- warn(logger, true, t);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印告警日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- */
|
|
|
|
- public static void warn(@NonNull Logger logger, boolean embody, @NonNull Throwable t) {
|
|
|
|
- warn(logger, embody, t, false);
|
|
|
|
|
|
+ warn(logger, t, false);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -270,19 +209,7 @@ public final class LoggingContextHolder {
|
|
* @param tracing 是否打印堆栈
|
|
* @param tracing 是否打印堆栈
|
|
*/
|
|
*/
|
|
public static void warn(@NonNull Logger logger, @NonNull Throwable t, boolean tracing) {
|
|
public static void warn(@NonNull Logger logger, @NonNull Throwable t, boolean tracing) {
|
|
- warn(logger, true, t, tracing);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印告警日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- * @param tracing 是否打印堆栈
|
|
|
|
- */
|
|
|
|
- public static void warn(@NonNull Logger logger, boolean embody, @NonNull Throwable t, boolean tracing) {
|
|
|
|
- warn(logger, SessionContextHolder.getRequest(), embody, t, tracing);
|
|
|
|
|
|
+ warn(logger, SessionContextHolder.getRequest(), t, tracing);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -293,19 +220,7 @@ public final class LoggingContextHolder {
|
|
* @param t 异常对象实例
|
|
* @param t 异常对象实例
|
|
*/
|
|
*/
|
|
public static void warn(@NonNull Logger logger, ServletRequest request, @NonNull Throwable t) {
|
|
public static void warn(@NonNull Logger logger, ServletRequest request, @NonNull Throwable t) {
|
|
- warn(logger, request, true, t);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印告警日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- */
|
|
|
|
- public static void warn(@NonNull Logger logger, ServletRequest request, boolean embody, @NonNull Throwable t) {
|
|
|
|
- warn(logger, request, embody, t, false);
|
|
|
|
|
|
+ warn(logger, request, t, false);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -317,24 +232,10 @@ public final class LoggingContextHolder {
|
|
* @param tracing 是否打印堆栈
|
|
* @param tracing 是否打印堆栈
|
|
*/
|
|
*/
|
|
public static void warn(@NonNull Logger logger, ServletRequest request, @NonNull Throwable t, boolean tracing) {
|
|
public static void warn(@NonNull Logger logger, ServletRequest request, @NonNull Throwable t, boolean tracing) {
|
|
- warn(logger, request, true, t, tracing);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印告警日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- * @param tracing 是否打印堆栈
|
|
|
|
- */
|
|
|
|
- public static void warn(@NonNull Logger logger, ServletRequest request, boolean embody, @NonNull Throwable t,
|
|
|
|
- boolean tracing) {
|
|
|
|
if (tracing) {
|
|
if (tracing) {
|
|
- logger.warn(message(logger, request, embody, t), t);
|
|
|
|
|
|
+ logger.warn(message(logger, request, t), t);
|
|
} else {
|
|
} else {
|
|
- logger.warn(message(logger, request, embody, t));
|
|
|
|
|
|
+ logger.warn(message(logger, request, t));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -346,20 +247,7 @@ public final class LoggingContextHolder {
|
|
* @param messages 消息数组
|
|
* @param messages 消息数组
|
|
*/
|
|
*/
|
|
public static void warn(@NonNull Logger logger, ServletRequest request, @NonNull Object... messages) {
|
|
public static void warn(@NonNull Logger logger, ServletRequest request, @NonNull Object... messages) {
|
|
- warn(logger, request, true, messages);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印告警日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param messages 消息数组
|
|
|
|
- */
|
|
|
|
- public static void warn(@NonNull Logger logger, ServletRequest request, boolean embody,
|
|
|
|
- @NonNull Object... messages) {
|
|
|
|
- logger.warn(message(logger, request, embody, messages));
|
|
|
|
|
|
+ logger.warn(message(logger, request, messages));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -369,18 +257,7 @@ public final class LoggingContextHolder {
|
|
* @param t 异常对象实例
|
|
* @param t 异常对象实例
|
|
*/
|
|
*/
|
|
public static void error(@NonNull Logger logger, @NonNull Throwable t) {
|
|
public static void error(@NonNull Logger logger, @NonNull Throwable t) {
|
|
- error(logger, true, t);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印错误日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- */
|
|
|
|
- public static void error(@NonNull Logger logger, boolean embody, @NonNull Throwable t) {
|
|
|
|
- error(logger, SessionContextHolder.getRequest(), embody, t);
|
|
|
|
|
|
+ error(logger, SessionContextHolder.getRequest(), t);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -391,19 +268,7 @@ public final class LoggingContextHolder {
|
|
* @param t 异常对象实例
|
|
* @param t 异常对象实例
|
|
*/
|
|
*/
|
|
public static void error(@NonNull Logger logger, ServletRequest request, @NonNull Throwable t) {
|
|
public static void error(@NonNull Logger logger, ServletRequest request, @NonNull Throwable t) {
|
|
- error(logger, request, true, t);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印错误日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- */
|
|
|
|
- public static void error(@NonNull Logger logger, ServletRequest request, boolean embody, @NonNull Throwable t) {
|
|
|
|
- logger.error(message(logger, request, embody, t), t);
|
|
|
|
|
|
+ logger.error(message(logger, request, t), t);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -414,20 +279,7 @@ public final class LoggingContextHolder {
|
|
* @param messages 消息数组
|
|
* @param messages 消息数组
|
|
*/
|
|
*/
|
|
public static void error(@NonNull Logger logger, ServletRequest request, @NonNull Object... messages) {
|
|
public static void error(@NonNull Logger logger, ServletRequest request, @NonNull Object... messages) {
|
|
- error(logger, request, true, messages);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印错误日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param messages 消息数组
|
|
|
|
- */
|
|
|
|
- public static void error(@NonNull Logger logger, ServletRequest request, boolean embody,
|
|
|
|
- @NonNull Object... messages) {
|
|
|
|
- logger.error(message(logger, request, embody, messages));
|
|
|
|
|
|
+ logger.error(message(logger, request, messages));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -437,18 +289,7 @@ public final class LoggingContextHolder {
|
|
* @param t 异常对象实例
|
|
* @param t 异常对象实例
|
|
*/
|
|
*/
|
|
public static void debug(@NonNull Logger logger, @NonNull Throwable t) {
|
|
public static void debug(@NonNull Logger logger, @NonNull Throwable t) {
|
|
- debug(logger, true, t);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印调试日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- */
|
|
|
|
- public static void debug(@NonNull Logger logger, boolean embody, @NonNull Throwable t) {
|
|
|
|
- debug(logger, SessionContextHolder.getRequest(), embody, t);
|
|
|
|
|
|
+ debug(logger, SessionContextHolder.getRequest(), t);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -459,20 +300,8 @@ public final class LoggingContextHolder {
|
|
* @param t 异常对象实例
|
|
* @param t 异常对象实例
|
|
*/
|
|
*/
|
|
public static void debug(@NonNull Logger logger, ServletRequest request, @NonNull Throwable t) {
|
|
public static void debug(@NonNull Logger logger, ServletRequest request, @NonNull Throwable t) {
|
|
- debug(logger, request, true, t);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印调试日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param t 异常对象实例
|
|
|
|
- */
|
|
|
|
- public static void debug(@NonNull Logger logger, ServletRequest request, boolean embody, @NonNull Throwable t) {
|
|
|
|
if (logger.isDebugEnabled()) {
|
|
if (logger.isDebugEnabled()) {
|
|
- logger.debug(message(logger, request, embody, t), t);
|
|
|
|
|
|
+ logger.debug(message(logger, request, t), t);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -484,21 +313,8 @@ public final class LoggingContextHolder {
|
|
* @param messages 消息数组
|
|
* @param messages 消息数组
|
|
*/
|
|
*/
|
|
public static void debug(@NonNull Logger logger, ServletRequest request, @NonNull Object... messages) {
|
|
public static void debug(@NonNull Logger logger, ServletRequest request, @NonNull Object... messages) {
|
|
- debug(logger, request, true, messages);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 打印调试日志
|
|
|
|
- *
|
|
|
|
- * @param logger 日志处理器
|
|
|
|
- * @param request 请求对象
|
|
|
|
- * @param embody 是否包含请求体
|
|
|
|
- * @param messages 消息数组
|
|
|
|
- */
|
|
|
|
- public static void debug(@NonNull Logger logger, ServletRequest request, boolean embody,
|
|
|
|
- @NonNull Object... messages) {
|
|
|
|
if (logger.isDebugEnabled()) {
|
|
if (logger.isDebugEnabled()) {
|
|
- logger.debug(message(logger, request, embody, messages));
|
|
|
|
|
|
+ logger.debug(message(logger, request, messages));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|