From b4d0d9b1d58bc45b9b7f249fe6b3701e8db6c35f Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 26 一月 2024 16:03:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java | 92 ++++++++++++++++++++++++++++------------------
1 files changed, 56 insertions(+), 36 deletions(-)
diff --git a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java
index 021d373..becbc97 100644
--- a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java
@@ -26,6 +26,7 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;
+import java.nio.file.attribute.FileTime;
import java.rmi.ServerException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -82,7 +83,7 @@
* @param logParentPath
* @return
*/
- //@Override
+ @Override
public List<LocalLogVO> getSystemLogList(String logParentPath) {
List<LocalLogVO> localLogsVO = new ArrayList<>();
// 涓嶄负绌鸿鏄庢槸鍔犺浇褰撳墠杩欎釜鏈嶅姟璺緞涓嬬殑鏃ュ織鏂囦欢
@@ -90,44 +91,48 @@
File file = new File(logParentPath);
if (file.isDirectory()) {
File[] files = file.listFiles();
- Arrays.stream(files).forEach(item->{
- // 缁勫缓鏃ュ織鏂囦欢瀵硅薄
- LocalLogVO localLog = new LocalLogVO();
- localLog.setLogName(item.getName());
- localLog.setLogType(getLogType(item.getName()));
- localLog.setCreateTime(getLastModifiedOrCreatTime(false,logParentPath));
- localLog.setLastModifier(getLastModifiedOrCreatTime(true,logParentPath));
- localLog.setLogPath(logParentPath);
- String serviceId = getServiceId(logParentPath);
- localLog.setServiceId(serviceId);
- localLog.setServiceName(getServiceName(serviceId));
- localLog.setHasChildren(false);
- localLogsVO.add(localLog);
- });
+ if(Func.isNotEmpty(files) && files.length>0){
+ Arrays.stream(files).forEach(item->{
+ // 缁勫缓鏃ュ織鏂囦欢瀵硅薄
+ LocalLogVO localLog = new LocalLogVO();
+ localLog.setLogName(item.getName());
+ localLog.setLogType(getLogType(item.getName()));
+ localLog.setCreateTime(getLastModifiedOrCreatTime(false,item.getPath()));
+ localLog.setLastModifier(getLastModifiedOrCreatTime(true,item.getPath()));
+ localLog.setLogPath(logParentPath);
+ String serviceId = getServiceId(logParentPath);
+ localLog.setServiceId(serviceId);
+ localLog.setServiceName(getServiceName(serviceId));
+ localLog.setHasChildren(false);
+ localLogsVO.add(localLog);
+ });
+ }
}
}else {
File fileDir = new File(PARENTPATH);
File[] childDir = fileDir.listFiles();
- Arrays.stream(childDir).forEach(dir->{
- if(dir.getName().contains("ubcs_")){
- String fullPath = dir.getPath() + LOGPATH;
- File file = new File(fullPath);
- if(file.exists()){
- LocalLogVO localLogVO = new LocalLogVO();
- localLogVO.setLastModifier(getLastModifiedOrCreatTime(true,fullPath));
- localLogVO.setCreateTime(getLastModifiedOrCreatTime(false,fullPath));
- localLogVO.setLogPath(fullPath);
- String serviceId = getServiceId(file.getPath());
- localLogVO.setServiceId(serviceId);
- String serviceName = getServiceName(serviceId);
- localLogVO.setServiceName(serviceName);
- localLogVO.setLogType(serviceName+"鏃ュ織鐖剁洰褰�");
- localLogVO.setLogName(serviceName+"鏃ュ織鐖剁洰褰�");
- localLogVO.setHasChildren(true);
- localLogsVO.add(localLogVO);
+ if(Func.isNotEmpty(childDir) && childDir.length > 0){
+ Arrays.stream(childDir).forEach(dir->{
+ if(dir.getName().contains("ubcs_")){
+ String fullPath = dir.getPath() + LOGPATH;
+ File file = new File(fullPath);
+ if(file.exists()){
+ LocalLogVO localLogVO = new LocalLogVO();
+ localLogVO.setLastModifier(getLastModifiedOrCreatTime(true,file.getPath()));
+ localLogVO.setCreateTime(getLastModifiedOrCreatTime(false,file.getPath()));
+ localLogVO.setLogPath(fullPath);
+ String serviceId = getServiceId(file.getPath());
+ localLogVO.setServiceId(serviceId);
+ String serviceName = getServiceName(serviceId);
+ localLogVO.setServiceName(serviceName);
+ localLogVO.setLogType(serviceName+"鏃ュ織鐖剁洰褰�");
+ localLogVO.setLogName(serviceName+"鏃ュ織鐖剁洰褰�");
+ localLogVO.setHasChildren(true);
+ localLogsVO.add(localLogVO);
+ }
}
- }
- });
+ });
+ }
}
return localLogsVO;
}
@@ -225,7 +230,7 @@
throw new ServerException("鏈幏鍙栧埌璇ユ棩蹇楄矾寰勶紒");
}
FileObjectBO fileObjectBO = new FileObjectBO();
- String logFullPaths = localLogVO.getLogFullPaths();
+ String logFullPaths = this.convertWindows2Linux(localLogVO.getLogFullPaths());
// 鍒ゆ柇鏄惁鏄埗鐩綍
if(!localLogVO.getHasChildren()){
//鍙笅杞戒竴涓棩蹇楁枃浠�
@@ -261,7 +266,6 @@
if(!logFile.exists() || !logFile.isFile()){
throw new VciBaseException("鏈湴鏃ュ織鏂囦欢璺緞"+item.getPath()+"涓湭鎵惧埌鏃ュ織");
}
-
try(OutputStream os = new FileOutputStream(file);
InputStream ins = new FileInputStream(logFile);
){
@@ -273,16 +277,32 @@
String zipName = new File(tempFolder).getPath() + File.separator + getLogFileName(logFullPaths) + "绛�"+file1.length + "涓枃浠�.zip";
zipUtil.folderToZipFile(tempFolder,zipName);
fileObjectBO.setFileLocalPath(zipName);
+ fileObjectBO.setName(zipName);
fileObjectBO.setFileExtension(".log");
if(log.isDebugEnabled()){
log.debug("涓嬭浇鏂囦欢鐨勪俊鎭�,",zipName);
}
+ }else{
+ throw new ServerException("璇ョ洰褰曚笅涓嶅瓨鍦ㄦ棩蹇楁枃浠讹紒");
}
}
return fileObjectBO;
}
/**
+ * 涓嬭浇涔嬪墠灏唚indows鐨勮矾寰勬牸寮忚浆鎹负linux
+ * @param fullPath
+ * @return
+ */
+ private String convertWindows2Linux(String fullPath){
+ String os = System.getProperty("os.name").toLowerCase();
+ if (!os.contains("win")) {
+ fullPath = fullPath.replace("\\", "/");
+ }
+ return fullPath;
+ }
+
+ /**
* 鍒犻櫎鏃ュ織鏂囦欢
* @param localLogVO 鏂囦欢鍏ㄨ矾寰勯泦鍚�
* @throws ServerException
--
Gitblit v1.9.3