package com.vci.ubcs.log.controller;
|
|
import com.alibaba.nacos.common.utils.StringUtils;
|
import com.vci.ubcs.log.vo.LocalLogVO;
|
import com.vci.ubcs.log.service.ILogLocalService;
|
import com.vci.ubcs.log.entity.LocalLog;
|
import com.vci.ubcs.resource.utils.FileDownloadUtil;
|
import com.vci.ubcs.starter.web.util.ControllerUtil;
|
import com.vci.ubcs.starter.web.util.LangBaseUtil;
|
import lombok.AllArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springblade.core.tenant.annotation.NonDS;
|
import org.springblade.core.tool.api.R;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.nio.charset.StandardCharsets;
|
import java.rmi.ServerException;
|
import java.util.List;
|
|
/**
|
* 本地系统日志
|
* @author ludc
|
* @date 2023/10/31 15:37
|
*/
|
@NonDS
|
@Slf4j
|
@RestController
|
@AllArgsConstructor
|
@RequestMapping("/localLog")
|
public class LogLocalController {
|
|
private final ILogLocalService logLocalService;
|
|
/**
|
* 获取日志文件列表
|
* @param localLog
|
* @return
|
*/
|
@PostMapping("/lazy-list")
|
public R<List<LocalLogVO>> getSystemLogList(@RequestBody LocalLog localLog){
|
return R.data(logLocalService.getSystemLogList(localLog.getLogPath()));
|
}
|
|
/**
|
* 下载日志文件
|
* @param localLogVO 下载日志的全路径集合
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value = "/downLoadLog",method = {RequestMethod.GET,RequestMethod.POST})
|
public void downloadLogByServiceName(@RequestBody LocalLogVO localLogVO, HttpServletResponse response) throws IOException {
|
try {
|
//ControllerUtil.writeFileToResponse(response,excelName);
|
FileDownloadUtil.downloadFileLocal(response, logLocalService.downloadLogByServiceNameAndFileName(localLogVO),true);
|
} catch (Throwable e) {
|
//如果出错,把错误信息写到text
|
String msg = LangBaseUtil.getErrorMsg(e);
|
if(StringUtils.isBlank(msg)){
|
msg = "未知错误";
|
}
|
ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null);
|
}
|
}
|
|
/**
|
* 删除日志文件
|
* @param localLogVO
|
* @return
|
* @throws ServerException
|
*/
|
@DeleteMapping("/deleteLogFile")
|
public R deleteLogFile(@RequestBody LocalLogVO localLogVO) throws ServerException {
|
return logLocalService.deleteLogFile(localLogVO);
|
}
|
|
}
|