fix:lucene日志地址
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -13,8 +13,8 @@ public class LogQuery {
|
||||
/**
|
||||
* 创建时间范围查询
|
||||
*/
|
||||
private Date startTime;
|
||||
private Date endTime;
|
||||
private String startTime;
|
||||
private String endTime;
|
||||
/**
|
||||
* 追踪id
|
||||
*/
|
||||
|
||||
@@ -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表示and,MUST_NOT表示not,SHOULD表示or,有几个fields就必须有几个clauses
|
||||
if (ObjectUtil.isNotEmpty(logQuery.getTraceId())){
|
||||
TermQuery termQuery = new TermQuery(new Term("traceId", logQuery.getTraceId()));
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.config.lucene;
|
||||
package org.nl.wms.system_manage.service.logserver.lucene;
|
||||
|
||||
/**
|
||||
* @Author: lyd
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.config.lucene;
|
||||
package org.nl.wms.system_manage.service.logserver.lucene;
|
||||
/**
|
||||
* @author ldjun
|
||||
* @version 1.0
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.config.lucene;
|
||||
package org.nl.wms.system_manage.service.logserver.lucene;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -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;
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.config.lucene;
|
||||
package org.nl.wms.system_manage.service.logserver.lucene;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user