钱涛 1 year ago
parent 747fd9edb8
commit c9c2315d51

@ -7,24 +7,19 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
/** /**
* @ClassName: LoggerMessageListener *
* @Description * <p>Copyright: Copyright (c) 2024</p>
* @Author tanghj * <p>Company: </p>
* @Date 2021/2/10 14:18 *
*/ * @author qiantao
* @version 1.0
**/
public class LoggerMessageListener { public class LoggerMessageListener {
private final Logger logger = LoggerFactory.getLogger(getClass());
LocalElogService localElogService = new LocalElogService(); LocalElogService localElogService = new LocalElogService();
ELogTableChecker checker = new ELogTableChecker();
public <T> String receiveold(LoggerContext messageBean) { public <T> void receiveold(LoggerContext messageBean) {
checker.check(messageBean);
new ELogTableChecker().check(messageBean);
localElogService.insertLocalElog(messageBean); localElogService.insertLocalElog(messageBean);
return "";
} }
} }

@ -15,16 +15,18 @@ public class ELogTableChecker {
} }
public <T> void check(LoggerContext<T> loggerContext) { public <T> void check(LoggerContext<T> loggerContext) {
String module = loggerContext.getModuleName(); synchronized (this){
String function = loggerContext.getFunctionName(); String module = loggerContext.getModuleName();
String mainTable = String.format("%s_%slogs", module, function); String function = loggerContext.getFunctionName();
Long v = eLogCache.getVersion(mainTable); String mainTable = String.format("%s_%slogs", module, function);
boolean noTable = v == null; Long v = eLogCache.getVersion(mainTable);
if (noTable) { boolean noTable = v == null;
this.initTable(mainTable); if (noTable) {
v = version; this.initTable(mainTable);
} else { v = version;
this.checkVersion(mainTable, v); } else {
this.checkVersion(mainTable, v);
}
} }
} }

@ -51,8 +51,6 @@ public class LocalElogService implements ILocalElogService {
*/ */
@Override @Override
public <T> int insertLocalElog(LoggerContext<T> context) { public <T> int insertLocalElog(LoggerContext<T> context) {
// logger.error("接收到的数据context:{}",JSONObject.toJSONString(context));
// logger.info("接收到数据的时间log_date:{}",context.getDate());
if (StringUtils.isEmpty(context.getUuid())) { if (StringUtils.isEmpty(context.getUuid())) {
context.setUuid(UUID.randomUUID().toString().replace("-", "")); context.setUuid(UUID.randomUUID().toString().replace("-", ""));
} }

@ -84,17 +84,16 @@ public class LoggerTemplate {
* @param isLocal true false * @param isLocal true false
*/ */
public void write(LoggerContext context, boolean isLocal) { public void write(LoggerContext context, boolean isLocal) {
String elogLocalQueue = ELOG + this.applicationName; String elogLocalQueue = ELOG + applicationName;
if (StringUtils.isEmpty(this.localQueue)) { if (StringUtils.isEmpty(this.localQueue)) {
this.localQueue = (StringUtils.isNotEmpty(this.moduleName) ? this.moduleName : elogLocalQueue) + "LocalQueue" + this.publishkitGroup; this.localQueue = (StringUtils.isNotEmpty(this.moduleName) ? this.moduleName : elogLocalQueue) + "LocalQueue" + publishkitGroup;
} }
try { try {
handleContext(context); handleContext(context);
loggerMessageListener.receiveold(context);
} catch (Exception e) { } catch (Exception e) {
logger.error("handleContext方法异常!{}", e.getMessage(), e); logger.error("日志写入方法异常!{}", e.getMessage(), e);
} }
loggerMessageListener.receiveold(context);
} }
// public void writeLocal(LoggerContext context){ // public void writeLocal(LoggerContext context){

@ -17,7 +17,6 @@ public class LoggerTemplateBuilder {
LoggerTemplate loggerTemplate = new LoggerTemplate(); LoggerTemplate loggerTemplate = new LoggerTemplate();
loggerTemplate.setFunction(function); loggerTemplate.setFunction(function);
loggerTemplate.setModule(module); loggerTemplate.setModule(module);
return loggerTemplate; return loggerTemplate;
} }
} }

Loading…
Cancel
Save