From 6cd32111579f0de8e3908bc985ee493197dc80cb Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 17 十一月 2023 16:29:48 +0800
Subject: [PATCH] 整合代码
---
Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java | 158 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 124 insertions(+), 34 deletions(-)
diff --git a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java
index ce126f2..f3f8778 100644
--- a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/core/log/service/impl/LogSystemServiceImpl.java
@@ -2,16 +2,25 @@
import com.vci.ubcs.core.log.service.ILogSystemService;
import com.vci.ubcs.log.entity.SystemLog;
+import com.vci.ubcs.omd.cache.EnumCache;
+import com.vci.ubcs.omd.enums.EnumEnum;
import com.vci.ubcs.resource.bo.FileObjectBO;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import javax.xml.crypto.Data;
import java.io.File;
+import java.io.IOException;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.attribute.BasicFileAttributes;
import java.rmi.ServerException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
/**
* 鏈湴绯荤粺鏃ュ織
@@ -25,55 +34,136 @@
* 鍚勪釜鏈嶅姟瀛樻斁鐨勭殑鐖惰矾寰�
*/
private final String parentPath = "/data1/ubcs/ubcs-server";
+
+ /**
+ * 鍚勪釜鏈嶅姟鐨勬棩蹇楀叿浣撶殑鐩綍璺緞
+ */
//@Value("#{'${ip-whitelist.ip}'.split(',')}")
private List<String> serviceDirNames = new ArrayList<>(Arrays.asList("/ubcs_code/target/log","/ubcs_omd/target/log","/ubcs_system/target/log"));
/**
* 鑾峰彇鏈湴鏃ュ織鍒楄〃
+ * @param logParentPath
+ * @return
*/
@Override
- public List<SystemLog> getSystemLogList() {
- serviceDirNames.stream().forEach(serviceDirName->{
- File file = new File(parentPath+serviceDirName);
-
- if(file.isDirectory()){
-
+ public List<SystemLog> getSystemLogList(String logParentPath) {
+ List<SystemLog> systemLogs = new ArrayList<>();
+ // 涓嶄负绌鸿鏄庢槸鍔犺浇褰撳墠杩欎釜鏈嶅姟璺緞涓嬬殑鏃ュ織鏂囦欢
+ if(Func.isNotEmpty(logParentPath)){
+ File file = new File(logParentPath);
+ if (file.isDirectory()) {
File[] files = file.listFiles();
-
- for(File f : files){
-
- if(f.isDirectory()){
-
- //readAllFiles(f.getAbsolutePath());
-
- }else{
-
- System.out.println(f.getName());
-
- }
-
- }
-
- }else{
-
- System.out.println(file.getName());
-
+ Arrays.stream(files).forEach(item->{
+ // 缁勫缓鏃ュ織鏂囦欢瀵硅薄
+ SystemLog systemLog = new SystemLog();
+ systemLog.setLogName(item.getName());
+ systemLog.setLogType(getLogType(item.getName()));
+ systemLog.setCreateTime(getLastModifiedOrCreatTime(false,logParentPath));
+ systemLog.setLastmodifier(getLastModifiedOrCreatTime(true,logParentPath));
+ systemLog.setLogPath(logParentPath);
+ String serviceId = getServiceId(logParentPath);
+ systemLog.setServiceId(serviceId);
+ systemLog.setServiceName(getServiceName(serviceId));
+ systemLogs.add(systemLog);
+ });
}
-
- });
-
- return null;
+ }else {
+ serviceDirNames.stream().forEach(serviceDirName->{
+ File file = new File(parentPath+serviceDirName);
+ SystemLog systemLog = new SystemLog();
+ systemLog.setLastmodifier(getLastModifiedOrCreatTime(true,parentPath+serviceDirName));
+ systemLog.setCreateTime(getLastModifiedOrCreatTime(false,parentPath+serviceDirName));
+ systemLog.setLogPath(parentPath+serviceDirName);
+ String serviceId = getServiceId(logParentPath);
+ systemLog.setServiceId(serviceId);
+ systemLog.setServiceName(getServiceName(serviceId));
+ systemLogs.add(systemLog);
+ });
+ }
+ return systemLogs;
}
+ /**
+ * 鑾峰彇鏂囦欢鏈�鍚庝慨鏀规垨鑰呭垱寤烘椂闂�
+ * @param isModifier
+ * @return
+ */
+ private String getLastModifiedOrCreatTime(boolean isModifier,String pathStr) {
+ Path path = FileSystems.getDefault().getPath(pathStr);
+ String date = "";
+ try {
+ BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class);
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ // 鏄幏鍙栨渶鍚庝慨鏀规椂闂�
+ if(isModifier){
+ date = dateFormat.format(new Date(attr.lastModifiedTime().toMillis()));
+ }else {
+ date = dateFormat.format(new Date(attr.creationTime().toMillis()));
+ }
+ } catch (IOException e) {
+ throw new ServiceException("Error reading file date attributes: " + e.getMessage());
+ }
+ return date;
+ }
+
+ /**
+ * 鑾峰彇鏃ュ織绫诲瀷
+ * @param fileName
+ * @return
+ */
+ private String getLogType(String fileName){
+ //鍒ゆ柇鏃ュ織鐨勭殑绫诲瀷
+ if (fileName.contains("error")) {
+ return "Error";
+ } else if (fileName.contains("info")) {
+ return "Info";
+ } else if (fileName.contains("warning")) {
+ return "Warning";
+ } else {
+ return "Unknown";
+ }
+ }
+
+ /**
+ * 鑾峰彇鏈嶅姟ID
+ * @param servciePath
+ * @return
+ */
+ private String getServiceId(String servciePath){
+ String[] parts = servciePath.split("/");
+ String extractedString = parts[parts.length - 2];
+ return extractedString;
+ }
+
+ /**
+ * 鑾峰彇鏈嶅姟鍚嶇О
+ * @param serViceId
+ * @return
+ */
+ private String getServiceName(String serViceId){
+ return EnumCache.getValue(EnumEnum.SERCIVE_NAME_ROLE, serViceId);
+ }
+
+ /**
+ * 涓嬭浇鏃ュ織鏂囦欢
+ * @param condition 鏌ヨ鏉′欢map
+ * @return
+ * @throws ServerException
+ */
@Override
public FileObjectBO downloadLogByServiceNameAndFileName(Map<String, String> condition) throws ServerException {
return null;
}
+ /**
+ * 鍒犻櫎鏃ュ織鏂囦欢
+ * @param condition 涓婚敭闆嗗悎
+ * @throws ServerException
+ */
@Override
public void deleteLogFile(Map<String, String> condition) throws ServerException {
}
-
}
--
Gitblit v1.9.3