From 4beb798caf0ee3e52709eb88e6c8edf5b2512b19 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Sun, 27 Aug 2023 00:45:13 +0800 Subject: [PATCH] =?UTF-8?q?rev:=20=E6=97=A5=E5=BF=97=E7=AE=80=E5=8D=95?= =?UTF-8?q?=E7=9A=84=E9=AB=98=E4=BA=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DEVICECODE_IS_UNDEFINED/2023-05-23.0.log | 0 .../java/org/nl/config/lucene/Searcher.java | 33 +++++++++++++++---- .../service/lucene/LogMessageConstant.java | 2 ++ .../system/service/lucene/LuceneAppender.java | 10 ++---- .../main/resources/config/application-dev.yml | 12 +++---- nladmin-ui/src/views/lucene/index.vue | 1 + 6 files changed, 38 insertions(+), 20 deletions(-) delete mode 100644 nladmin-system/logPath_IS_UNDEFINED/XgAgvDeviceDriver/DEVICECODE_IS_UNDEFINED/2023-05-23.0.log 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) {