This commit is contained in:
GUO 2024-06-06 23:21:11 +08:00
parent 95c0ddb8d5
commit c95300cd5c
6 changed files with 54 additions and 15 deletions

View File

@ -33,14 +33,14 @@ public class StdOutImplCustom implements Log {
@Override
public void debug(String s) {
if (LogMdcUtil.isPrint()) {
System.out.println(s);
System.out.println(processSql(s));
}
}
@Override
public void trace(String s) {
if (LogMdcUtil.isPrint()) {
System.out.println(s);
System.out.println(processSql(s));
}
}
@ -48,4 +48,9 @@ public class StdOutImplCustom implements Log {
public void warn(String s) {
System.out.println(s);
}
// 自定义方法处理SQL语句去除换行符
private String processSql(String sql) {
return sql.replaceAll("(?m)^[ \t]*\r?\n", "");
}
}

View File

@ -11,6 +11,7 @@ import com.zhgd.annotation.DataScope;
import com.zhgd.xmgl.security.util.SecurityUtils;
import com.zhgd.xmgl.util.EnvironmentUtil;
import com.zhgd.xmgl.util.LogMdcUtil;
import com.zhgd.xmgl.util.PrintColorUtil;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.schema.Table;
@ -71,6 +72,7 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for (StackTraceElement e : stackTrace) {
if (e.getClassName().startsWith("com.zhgd") && LogMdcUtil.notInPackage(e.getClassName()) && !e.getClassName().contains("$$")) {
sb.append("\r\n ");
sb.append(StrUtil.subAfter(e.getClassName(), ".", true));
sb.append(".");
sb.append(e.getMethodName());
@ -79,11 +81,9 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte
sb.append(".java:");
sb.append(e.getLineNumber());
sb.append(")");
sb.append(" \r\n ");
sb.append(" > ");
}
}
return sb.toString();
return PrintColorUtil.getPrintColorStr(sb.toString());
}
private static String getCallPosition() {
@ -115,13 +115,13 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte
if (EnvironmentUtil.getActiveEnvironment().equals("gsx-other-env-show-dev")) {
//开发环境
if (sct == SqlCommandType.SELECT) {
log.debug("查询mapper: {} {}#{}", getCallPositionForDev(), clazz.getName(), methodName);
log.debug("查询mapper ↙↙↙ \r\n {}#{}{}", clazz.getName(), methodName, getCallPositionForDev());
} else if (sct == SqlCommandType.UPDATE) {
log.debug("更新mapper: {} {}#{}", getCallPositionForDev(), clazz.getName(), methodName);
log.debug("更新mapper ↙↙↙ \r\n {}#{}{}", clazz.getName(), methodName, getCallPositionForDev());
} else if (sct == SqlCommandType.INSERT) {
log.debug("插入mapper: {} {}#{}", getCallPositionForDev(), clazz.getName(), methodName);
log.debug("插入mapper ↙↙↙ \r\n {}#{}{}", clazz.getName(), methodName, getCallPositionForDev());
} else if (sct == SqlCommandType.DELETE) {
log.debug("删除mapper: {} {}#{}", getCallPositionForDev(), clazz.getName(), methodName);
log.debug("删除mapper ↙↙↙ \r\n {}#{}{}", clazz.getName(), methodName, getCallPositionForDev());
}
} else {
if (sct == SqlCommandType.SELECT) {

View File

@ -55,6 +55,7 @@ import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRec
import com.zhgd.xmgl.modules.xz.service.IXzWorkerSafeWatchConfigService;
import com.zhgd.xmgl.push.config.PushPayloads;
import com.zhgd.xmgl.util.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
@ -79,6 +80,7 @@ import java.util.stream.Collectors;
*/
@Service
@Transactional(rollbackFor = Exception.class)
@Slf4j
public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<XzSecurityQualityInspectionRecordMapper, XzSecurityQualityInspectionRecord> implements IXzSecurityQualityInspectionRecordService {
@Autowired
SanjiangDataCall sanjiangDataCall;

View File

@ -60,10 +60,10 @@ public class LogMdcUtil {
private static String getCallPositionForDev() {
StringBuilder sb = new StringBuilder();
sb.append("^^^********^^^");
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for (StackTraceElement e : stackTrace) {
if (e.getClassName().startsWith("com.zhgd") && notInPackage(e.getClassName()) && !e.getClassName().contains("$$")) {
sb.append("\r\n ");
sb.append(StrUtil.subAfter(e.getClassName(), ".", true));
sb.append(".");
sb.append(e.getMethodName());
@ -72,14 +72,13 @@ public class LogMdcUtil {
sb.append(".java:");
sb.append(e.getLineNumber());
sb.append(")");
sb.append(" > ");
}
}
return sb.toString();
return PrintColorUtil.getPrintColorStr(sb.toString());
}
public static boolean notInPackage(String className) {
return !className.startsWith("com.zhgd.mybatis") && !className.startsWith("com.zhgd.xmgl.config") && !className.startsWith("com.zhgd.xmgl.security")
&& !className.contains("LogMdcUtil") && !className.contains("LogPrintFilter");
&& !className.contains("LogMdcUtil") && !className.contains("LogPrintFilter") && !className.contains("LogInterceptor") ;
}
}

View File

@ -0,0 +1,34 @@
package com.zhgd.xmgl.util;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class PrintColorUtil {
/**
* @param content 要打印的内容
* @param colour 颜色代号背景颜色代号(41-46)前景色代号(31-36)
* @param type 样式代号0无1加粗3斜体4下划线
*/
public static String getFormatLogString(String content, int colour, int type) {
boolean hasType = type != 1 && type != 3 && type != 4;
if (hasType) {
return String.format("\033[%dm%s\033[0m", colour, content);
} else {
return String.format("\033[%d;%dm%s\033[0m", colour, type, content);
}
}
public static String getPrintColorStr(String content) {
return getFormatLogString(content, 33, 0);
}
public static void main(String[] args) {
System.out.println("控制台颜色测试:");
System.out.println(getFormatLogString("[ 红色 ]", 31, 0));
System.out.println(getFormatLogString("[ 黄色 ]", 32, 0));
System.out.println(getFormatLogString("[ 橙色 ]", 33, 0));
System.out.println(getFormatLogString("[ 蓝色 ]", 34, 0));
System.out.println(getFormatLogString("[ 紫色 ]", 35, 0));
System.out.println(getFormatLogString("[ 绿色 ]", 36, 0));
}
}

View File

@ -6,8 +6,7 @@
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%highlight(%X{requestId})][%thread] %highlight(%-5level)
%cyan(%logger{50}).%method:%L - %highlight(%msg) %X{stackInfo} %n
<pattern>%green(%d{yyyy-MM-dd HH:mm:ss} [%X{requestId}][%thread] %-5level %logger{0}.%method:%L) - %highlight(%msg) %X{stackInfo} %n
</pattern>
</encoder>
<filter class="com.zhgd.config.LogPrintFilter">