From 83424bb99598addcea12c74c028e7ca7d68e74cf Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Wed, 1 Mar 2023 14:36:30 +0800 Subject: [PATCH] =?UTF-8?q?add:=E6=97=A5=E5=BF=97=E6=B8=85=E9=99=A4?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/logging/rest/EsLogController.java | 6 ++ .../modules/logging/service/EsLogService.java | 5 ++ .../service/impl/EsLogServiceImpl.java | 17 ++++++ lms/nladmin-ui/src/views/loki/api/loki.js | 10 +++- lms/nladmin-ui/src/views/loki/view/index.vue | 57 +++++++++++++++++++ 5 files changed, 94 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/rest/EsLogController.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/rest/EsLogController.java index bc9f8b9b5..5ab34932b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/rest/EsLogController.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/rest/EsLogController.java @@ -34,5 +34,11 @@ public class EsLogController { public ResponseEntity queryAll(@RequestBody LogQuery query) { return new ResponseEntity<>(esLogService.query(query), HttpStatus.OK); } + @DeleteMapping("/clearLogs") + @ApiOperation("清空日志") + public ResponseEntity clearLogs(@RequestBody LogQuery query) { + esLogService.clearLogs(query); + return new ResponseEntity<>(HttpStatus.OK); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/EsLogService.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/EsLogService.java index 1a7d2c79a..0df5f374a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/EsLogService.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/EsLogService.java @@ -12,6 +12,11 @@ import org.nl.modules.logging.service.dto.LogQuery; * @desc desc */ public interface EsLogService { + + /** + * 清空日志 + */ + void clearLogs(LogQuery query); /** * 获取labels和values树 * @return diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/EsLogServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/EsLogServiceImpl.java index 601304c0d..bceafcdaa 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/EsLogServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/EsLogServiceImpl.java @@ -1,5 +1,7 @@ package org.nl.modules.logging.service.impl; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; @@ -27,6 +29,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; import org.springframework.data.elasticsearch.core.aggregation.impl.AggregatedPageImpl; +import org.springframework.data.elasticsearch.core.query.DeleteQuery; import org.springframework.data.elasticsearch.core.query.FetchSourceFilter; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.stereotype.Service; @@ -99,6 +102,20 @@ public class EsLogServiceImpl implements EsLogService { } } + @Override + public void clearLogs(LogQuery logQuery) { + String system = logQuery.getSystem(); + BoolQueryBuilder query = QueryBuilders.boolQuery(); + if (!StringUtils.isEmpty(system)){ + query.must().add(QueryBuilders.matchQuery("system", system)); + } + long time = DateUtil.offset(new Date(), DateField.DAY_OF_MONTH, -10).getTime(); + String script = "doc['@timestamp'].value.millis < " + time + "L"; + query.must().add(QueryBuilders.scriptQuery(new Script(script))); + DeleteQuery deleteQuery = new DeleteQuery(); + deleteQuery.setQuery(query); + elasticsearchRestTemplate.delete(deleteQuery,new LogRepositoryDTO().getClass()); + } @Override diff --git a/lms/nladmin-ui/src/views/loki/api/loki.js b/lms/nladmin-ui/src/views/loki/api/loki.js index b5a309420..8cc509d5a 100644 --- a/lms/nladmin-ui/src/views/loki/api/loki.js +++ b/lms/nladmin-ui/src/views/loki/api/loki.js @@ -15,4 +15,12 @@ export function labelsValues(type) { }) } -export default { getLogData, labelsValues } +export function clearLogs(param) { + return request({ + url: '/api/esLog/clearLogs', + method: 'delete', + data: param + }) +} + +export default { getLogData, labelsValues, clearLogs } diff --git a/lms/nladmin-ui/src/views/loki/view/index.vue b/lms/nladmin-ui/src/views/loki/view/index.vue index e06a1d156..6380fe875 100644 --- a/lms/nladmin-ui/src/views/loki/view/index.vue +++ b/lms/nladmin-ui/src/views/loki/view/index.vue @@ -118,6 +118,14 @@ :step="1" /> + + + 查询 @@ -126,6 +134,9 @@ + + 清空日志 +