diff --git a/nladmin-system/logPath_IS_UNDEFINED/XgAgvDeviceDriver/DEVICECODE_IS_UNDEFINED/2023-05-23.0.log b/nladmin-system/logPath_IS_UNDEFINED/XgAgvDeviceDriver/DEVICECODE_IS_UNDEFINED/2023-05-23.0.log deleted file mode 100644 index e69de29..0000000 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java b/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java index 846596f..9681462 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java @@ -68,7 +68,8 @@ public class Searcher { endDate = LuceneIndexWriter.getDate(endDate); } // 字段之间的与或非关系,MUST表示and,MUST_NOT表示not,SHOULD表示or,有几个fields就必须有几个clauses - TermRangeQuery termRangeQuery = new TermRangeQuery("timestamp", new BytesRef(startDate), new BytesRef(endDate), true, true); + TermRangeQuery termRangeQuery = new TermRangeQuery("timestamp", new BytesRef(startDate), + new BytesRef(endDate), true, true); booleanQueryBuilder.add(termRangeQuery,BooleanClause.Occur.MUST); if (ObjectUtil.isNotEmpty(whereJson.get(LogMessageConstant.FIELD_MESSAGE))){ //查询解析器 @@ -79,7 +80,7 @@ public class Searcher { if (ObjectUtil.isNotEmpty(whereJson.get(LogMessageConstant.FIELD_TRACEID))){ //查询解析器 TermQuery termQuery = new TermQuery(new Term(LogMessageConstant.FIELD_TRACEID, - whereJson.get(LogMessageConstant.FIELD_TRACEID).toString().trim())); + whereJson.getString(LogMessageConstant.FIELD_TRACEID).trim())); booleanQueryBuilder.add(termQuery, BooleanClause.Occur.MUST); } if (ObjectUtil.isNotEmpty(whereJson.get(LogMessageConstant.FIELD_LEVEL))){ @@ -110,8 +111,8 @@ public class Searcher { LogMessageConstant.COLOR_RESET + " - " + LogMessageConstant.COLOR_MAGENTA + doc.get(LogMessageConstant.FIELD_CLASS_NAME) + LogMessageConstant.COLOR_RESET + " - " + - LogMessageConstant.COLOR_BLACK + doc.get(LogMessageConstant.FIELD_MESSAGE); -// System.out.println(logInfo); + LogMessageConstant.COLOR_BLACK + highlightKeyword(doc.get(LogMessageConstant.FIELD_MESSAGE), whereJson.getString("message")); + System.out.println(logInfo); list.add(logInfo); } reader.close(); @@ -121,14 +122,32 @@ public class Searcher { return jo; } + public static String highlightKeyword(String text, String keyword) { + if (ObjectUtil.isEmpty(keyword)) { + return text; + } + + int startIndex = text.indexOf(keyword); + if (startIndex != -1) { + int endIndex = startIndex + keyword.length(); + String beforeKeyword = text.substring(0, startIndex); + String afterKeyword = text.substring(endIndex); + String highlightedKeyword = LogMessageConstant.BACKGROUND_YELLOW + keyword + LogMessageConstant.COLOR_RESET + + LogMessageConstant.COLOR_BLACK; + return beforeKeyword + highlightedKeyword + afterKeyword; + } else { + return text; + } + } + public static void main(String[] args) { String indexDir = "D:\\lucene\\debug_log"; //查询这个字符串 JSONObject whereJson = new JSONObject(); whereJson.put("size", "500"); - whereJson.put("page", "0"); -// whereJson.put("message", "traceId"); - whereJson.put(LogMessageConstant.FIELD_TRACEID, "13236874421038464"); + whereJson.put("page", "1"); + whereJson.put("message", "请求方法参数"); +// whereJson.put(LogMessageConstant.FIELD_TRACEID, "13244183367577216"); try { search(indexDir, whereJson); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LogMessageConstant.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LogMessageConstant.java index bdedbb9..bc00505 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LogMessageConstant.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LogMessageConstant.java @@ -36,4 +36,6 @@ public class LogMessageConstant { public final static String COLOR_WHITE = "\u001B[37m"; /** 文本颜色重置 */ public final static String COLOR_RESET = "\u001B[0m"; + /** 背景颜色:黄色 */ + public final static String BACKGROUND_YELLOW = "\u001B[43m"; } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneAppender.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneAppender.java index 9878aea..416eb77 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneAppender.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/LuceneAppender.java @@ -60,15 +60,11 @@ public class LuceneAppender extends AppenderBase { doc.add(new StringField(LogMessageConstant.FIELD_TIMESTAMP, formattedDateTime,Field.Store.YES)); doc.add(new StoredField(LogMessageConstant.FIELD_CLASS_NAME, event.getLoggerName())); doc.add(new StoredField(LogMessageConstant.FIELD_THREAD, event.getThreadName())); - if (ObjectUtil.isNotEmpty(mdcPropertyMap)) { + if (ObjectUtil.isNotEmpty(mdcPropertyMap) && ObjectUtil.isNotEmpty(mdcPropertyMap.get(LogMessageConstant.FIELD_TRACEID))) { String traceId = mdcPropertyMap.get(LogMessageConstant.FIELD_TRACEID); - if (ObjectUtil.isNotEmpty(traceId)) { - doc.add(new StringField(LogMessageConstant.FIELD_TRACEID, traceId,Field.Store.YES)); - } else { - doc.add(new StringField(LogMessageConstant.FIELD_TRACEID, "无生成链路ID",Field.Store.YES)); - } + doc.add(new StringField(LogMessageConstant.FIELD_TRACEID, traceId, Field.Store.YES)); } else { - doc.add(new StringField(LogMessageConstant.FIELD_TRACEID, "无生成链路ID",Field.Store.YES)); + doc.add(new StringField(LogMessageConstant.FIELD_TRACEID, "无生成链路ID", Field.Store.YES)); } doc.add(new TextField(LogMessageConstant.FIELD_MESSAGE, message, Field.Store.YES)); try { diff --git a/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index 98aa93f..32db9fb 100644 --- a/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -15,12 +15,12 @@ spring: username: ${DB_USER:root} password: ${DB_PWD:12356} type: com.alibaba.druid.pool.DruidDataSource - db2: - driver-class-name: com.p6spy.engine.spy.P6SpyDriver - url: jdbc:p6spy:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:13306}/${DB_NAME:test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true - username: ${DB_USER:root} - password: ${DB_PWD:12356} - type: com.alibaba.druid.pool.DruidDataSource +# db2: +# driver-class-name: com.p6spy.engine.spy.P6SpyDriver +# url: jdbc:p6spy:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:13306}/${DB_NAME:test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true +# username: ${DB_USER:root} +# password: ${DB_PWD:12356} +# type: com.alibaba.druid.pool.DruidDataSource flyway: # 是否启用flyway diff --git a/nladmin-ui/src/views/lucene/index.vue b/nladmin-ui/src/views/lucene/index.vue index 3cf34fa..cd250b1 100644 --- a/nladmin-ui/src/views/lucene/index.vue +++ b/nladmin-ui/src/views/lucene/index.vue @@ -128,6 +128,7 @@ export default { }, queryData() { luceneOperation.getLogData(this.query).then(res => { + this.logs = [] // 清空 var ansi_up = new AnsiUp() // 数据初始化 for (const i in res.content) {