fix:lucene日志地址

This commit is contained in:
zhangzq
2026-06-18 14:39:20 +08:00
parent 7e1bacded8
commit b14042dd68
16 changed files with 247 additions and 66 deletions

View File

@@ -27,7 +27,8 @@ import org.nl.common.utils.IPUtil;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.RequestHolder;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.lucene.LuceneAppender;
import org.nl.wms.system_manage.service.logserver.lucene.BaseCode;
import org.nl.wms.system_manage.service.logserver.lucene.LuceneAppender;
import org.slf4j.MDC;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
@@ -57,8 +58,8 @@ public class LogAspect {
*
* @param joinPoint join point for advice
*/
@Around("@annotation(logInfo)")
public Object logAround(ProceedingJoinPoint joinPoint,org.nl.common.logging.annotation.Log logInfo) throws Throwable {
@Around("@annotation(logAnno)")
public Object logAround(ProceedingJoinPoint joinPoint,org.nl.common.logging.annotation.Log logAnno) throws Throwable {
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Method method = signature.getMethod();
@@ -69,6 +70,7 @@ public class LogAspect {
MDC.put("requestMethod",url);
MDC.put("requestIp", requestIp);
MDC.put("requestTime", DateUtil.now());
LuceneAppender.traceIdTL.set(BaseCode.intToChars(IdUtil.getLongId()));
Object result = null;
long comming = System.currentTimeMillis();
try {
@@ -97,6 +99,7 @@ public class LogAspect {
}finally {
log.info("[--response--][请求接口:{} 执行结束][耗时:{}s]",url,(System.currentTimeMillis() - comming)/1000);
MDC.clear();
LuceneAppender.traceIdTL.remove();
}
return result;
}

View File

@@ -4,6 +4,7 @@ package org.nl.wms.ext_manage.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.ext_manage.service.dto.StructLineOfflineDTO;
import org.nl.wms.ext_manage.service.impl.StructOfflineService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +34,7 @@ public class MesStructLineController {
*/
@PostMapping("/offline")
@SaIgnore
@Log
public ResponseEntity<Object> confirm(@RequestBody StructLineOfflineDTO structLineOffline) {
structOfflineTask.offline(structLineOffline);
return new ResponseEntity<>(HttpStatus.OK);

View File

@@ -1,4 +1,4 @@
package org.nl.wms.system_manage.controller.lucence;
package org.nl.wms.system_manage.controller.log;
import cn.dev33.satoken.annotation.SaIgnore;
import lombok.extern.slf4j.Slf4j;
@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*;
*/
@RestController
@RequestMapping("/api/esLog")
@RequestMapping("/api/lucene")
@Slf4j
public class LuceneLogController {

View File

@@ -13,8 +13,8 @@ public class LogQuery {
/**
* 创建时间范围查询
*/
private Date startTime;
private Date endTime;
private String startTime;
private String endTime;
/**
* 追踪id
*/

View File

@@ -8,6 +8,7 @@ import cn.hutool.db.PageResult;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
@@ -17,13 +18,15 @@ import org.apache.lucene.search.*;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.BytesRef;
import org.nl.common.exception.BadRequestException;
import org.nl.config.lucene.LuceneAppender;
import org.nl.wms.system_manage.service.logserver.lucene.LuceneAppender;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.wltea.analyzer.lucene.IKAnalyzer;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -83,20 +86,27 @@ public class LuceneLogServiceImpl implements LuceneLogService {
// 创建排序对象,需要排序字段SortField参数字段的名称、字段的类型、是否反转如果是false升序。true降序
BooleanQuery.Builder booleanQueryBuilder = new BooleanQuery.Builder();
//时间范围查询
Date startDate = logQuery.getStartTime();
Date endDate = logQuery.getEndTime();
if (startDate == null){
Calendar calendar=Calendar.getInstance();
calendar.set(1970, 0, 1);
startDate = calendar.getTime(); }
if (endDate == null){ endDate = new DateTime(); }
String startTimeStr = logQuery.getStartTime();
String endTimeStr = logQuery.getEndTime();
LocalDateTime startDateTime;
LocalDateTime endDateTime;
if (StringUtils.isEmpty(startTimeStr)) {
startDateTime = LocalDateTime.of(1970, 1, 1, 0, 0, 0);
} else {
startDateTime = LocalDateTime.parse(startTimeStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); // 假设格式
}
if (StringUtils.isEmpty(endTimeStr)) {
endDateTime = LocalDateTime.now();
} else {
endDateTime = LocalDateTime.parse(endTimeStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
String startFormatted = startDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
String endFormatted = endDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
TermRangeQuery termRangeQuery = new TermRangeQuery(
"requestTime",
new BytesRef(DateUtil.format(startDate, "yyyy-MM-dd HH:mm:ss.SSS")),
new BytesRef(DateUtil.format(endDate, "yyyy-MM-dd HH:mm:ss.SSS")), true, true);
new BytesRef(startFormatted),
new BytesRef(endFormatted), true, true);
booleanQueryBuilder.add(termRangeQuery,BooleanClause.Occur.MUST);
// 字段之间的与或非关系MUST表示andMUST_NOT表示notSHOULD表示or有几个fields就必须有几个clauses
if (ObjectUtil.isNotEmpty(logQuery.getTraceId())){
TermQuery termQuery = new TermQuery(new Term("traceId", logQuery.getTraceId()));

View File

@@ -1,4 +1,4 @@
package org.nl.config.lucene;
package org.nl.wms.system_manage.service.logserver.lucene;
/**
* @author ldjun
* @version 1.0
@@ -26,7 +26,7 @@ public class AsyncLuceneAppender extends AspectLogbackAsyncAppender {
if (mdcPropertyMap.getClass().getName().contains("SynchronizedMap")){
mdcPropertyMap.put("traceId",traceId);
}
MDC.clear();
}
super.append(event);
}
}

View File

@@ -0,0 +1,33 @@
package org.nl.wms.system_manage.service.logserver.lucene;
/*
* @author ZZQ
* @Date 2023/2/9 2:54 下午
*/
public class BaseCode {
static final char[] MySerials = new char[]{
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p','q','r','s','t','u','v','w','x','y','z',
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P','Q','R','S','T','U','V','W','X','Y','Z'};
public static final String intToChars(long n){
String s = "";
if (n == 0) {
s = "0";
}
while (n != 0) {
int i = (int) (n % MySerials.length);
char c = MySerials[i];
s = c + s;
n = n / MySerials.length;
}
for (int x = s.length();x<5;x++){
s="0"+s;
}
return s;
}
}

View File

@@ -1,4 +1,4 @@
package org.nl.config.lucene;
package org.nl.wms.system_manage.service.logserver.lucene;
/**
* @Author: lyd

View File

@@ -1,4 +1,4 @@
package org.nl.config.lucene;
package org.nl.wms.system_manage.service.logserver.lucene;
/**
* @author ldjun
* @version 1.0

View File

@@ -1,4 +1,4 @@
package org.nl.config.lucene;
package org.nl.wms.system_manage.service.logserver.lucene;
import java.util.ArrayList;

View File

@@ -1,4 +1,4 @@
package org.nl.config.lucene;
package org.nl.wms.system_manage.service.logserver.lucene;
import ch.qos.logback.classic.PatternLayout;
import ch.qos.logback.classic.spi.ILoggingEvent;

View File

@@ -1,4 +1,4 @@
package org.nl.config.lucene;
package org.nl.wms.system_manage.service.logserver.lucene;
/*
* @author ZZQ

View File

@@ -4,7 +4,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.lucene.document.LongPoint;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.search.Query;
import org.nl.config.lucene.LuceneAppender;
import org.nl.wms.system_manage.service.logserver.lucene.LuceneAppender;
import org.nl.wms.system_manage.service.param.ISysParamService;
import org.nl.wms.system_manage.service.param.dao.Param;
import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -60,7 +60,7 @@
<queueSize>500</queueSize>
<appender-ref ref="ErpLogFile"/>
</appender>
<appender name="luceneAppender" class="org.nl.config.lucene.LuceneAppender" >
<appender name="luceneAppender" class="org.nl.wms.system_manage.service.logserver.lucene.LuceneAppender" >
<properties>
<property>
<name>system</name>
@@ -92,7 +92,7 @@
</property>
</properties>
</appender>
<appender name="asyncLuceneAppender" class="org.nl.config.lucene.AsyncLuceneAppender">
<appender name="asyncLuceneAppender" class="org.nl.wms.system_manage.service.logserver.lucene.AsyncLuceneAppender">
<appender-ref ref="luceneAppender" />
<queueSize>512</queueSize>
</appender>