Support get spring.log api.

pull/235/head
ruibaby 2019-06-25 16:52:51 +08:00
parent 7f7710ed67
commit 3918285d38
3 changed files with 33 additions and 0 deletions

View File

@ -2,11 +2,13 @@ package run.halo.app.controller.admin.api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import run.halo.app.cache.lock.CacheLock; import run.halo.app.cache.lock.CacheLock;
import run.halo.app.model.dto.EnvironmentDTO; import run.halo.app.model.dto.EnvironmentDTO;
import run.halo.app.model.dto.StatisticDTO; import run.halo.app.model.dto.StatisticDTO;
import run.halo.app.model.params.LoginParam; import run.halo.app.model.params.LoginParam;
import run.halo.app.model.support.BaseResponse;
import run.halo.app.security.token.AuthToken; import run.halo.app.security.token.AuthToken;
import run.halo.app.service.AdminService; import run.halo.app.service.AdminService;
@ -16,6 +18,7 @@ import javax.validation.Valid;
* Admin controller. * Admin controller.
* *
* @author johnniang * @author johnniang
* @author ryanwang
* @date 3/19/19 * @date 3/19/19
*/ */
@Slf4j @Slf4j
@ -73,4 +76,9 @@ public class AdminController {
adminService.updateAdminAssets(); adminService.updateAdminAssets();
} }
@GetMapping("spring/logs")
@ApiOperation("Get application logs")
public BaseResponse<String> getSpringLogs() {
return BaseResponse.ok(HttpStatus.OK.getReasonPhrase(),adminService.getSpringLogs());
}
} }

View File

@ -26,6 +26,8 @@ public interface AdminService {
String REFRESH_TOKEN_CACHE_PREFIX = "halo.admin.refresh_token."; String REFRESH_TOKEN_CACHE_PREFIX = "halo.admin.refresh_token.";
String LOGS_PATH = "logs/spring.log";
/** /**
* Authenticates. * Authenticates.
* *
@ -69,4 +71,10 @@ public interface AdminService {
* Updates halo admin assets. * Updates halo admin assets.
*/ */
void updateAdminAssets(); void updateAdminAssets();
/**
* Get spring logs.
* @return recently logs.
*/
String getSpringLogs();
} }

View File

@ -1,5 +1,6 @@
package run.halo.app.service.impl; package run.halo.app.service.impl;
import cn.hutool.core.io.file.FileReader;
import cn.hutool.core.lang.Validator; import cn.hutool.core.lang.Validator;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -32,6 +33,7 @@ import run.halo.app.service.*;
import run.halo.app.utils.FileUtils; import run.halo.app.utils.FileUtils;
import run.halo.app.utils.HaloUtils; import run.halo.app.utils.HaloUtils;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean; import java.lang.management.RuntimeMXBean;
@ -373,4 +375,19 @@ public class AdminServiceImpl implements AdminService {
return token; return token;
} }
/**
* Get spring logs.
*
* @return recently logs.
*/
@Override
public String getSpringLogs() {
File file = new File(haloProperties.getWorkDir(), LOGS_PATH);
if (!file.exists()) {
return "暂无日志";
}
FileReader reader = new FileReader(file);
return reader.readString();
}
} }