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 lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import run.halo.app.cache.lock.CacheLock;
import run.halo.app.model.dto.EnvironmentDTO;
import run.halo.app.model.dto.StatisticDTO;
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.service.AdminService;
@ -16,6 +18,7 @@ import javax.validation.Valid;
* Admin controller.
*
* @author johnniang
* @author ryanwang
* @date 3/19/19
*/
@Slf4j
@ -73,4 +76,9 @@ public class AdminController {
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 LOGS_PATH = "logs/spring.log";
/**
* Authenticates.
*
@ -69,4 +71,10 @@ public interface AdminService {
* Updates halo admin assets.
*/
void updateAdminAssets();
/**
* Get spring logs.
* @return recently logs.
*/
String getSpringLogs();
}

View File

@ -1,5 +1,6 @@
package run.halo.app.service.impl;
import cn.hutool.core.io.file.FileReader;
import cn.hutool.core.lang.Validator;
import lombok.extern.slf4j.Slf4j;
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.HaloUtils;
import java.io.File;
import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
@ -373,4 +375,19 @@ public class AdminServiceImpl implements AdminService {
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();
}
}