文章目录
背景
项目开发中,查看日志以及修改日志级别是很常用的操作。
一般的操作方式为:
不方便且操作很繁琐
看我实现的效果:
- 在线weblog,可以输入任意位置的文件,支持决定路径以及相对路径
- 动态设置日志级别,无需重置服务
实现
在线weblog
核心代码
@RequestMapping(value = "/file", produces = "text/plain; charset=UTF-8")
public Resource logFile(@RequestParam(required = false) String filePath) {
if (StrUtil.isNotBlank(filePath)) {
filePathConfig = filePath;
}
Resource logFileResource = new FileSystemResource(new File(filePathConfig));
if (logFileResource == null || !logFileResource.isReadable()) {
return null;
}
return logFileResource;
}
动态修改日志级别
@RequestMapping(value = "/level") //动态设置日志级别
public String configureLogLevel(String name, LogLevel configuredLevel) {
if (StrUtil.isBlank(name)) {
return "请输入日志名称";
}
log.debug("name:{},level:{}", name, configuredLevel);
log.info("name:{},level:{}", name, configuredLevel);
log.warn("name:{},level:{}", name, configuredLevel);
log.error("name:{},level:{}", name, configuredLevel);
LoggerGroup group = this.loggerGroups.get(name);
if (group != null && group.hasMembers()) {
group.configureLogLevel(configuredLevel, this.loggingSystem::setLogLevel);
return "ok";
}
this.loggingSystem.setLogLevel(name, configuredLevel);
return "ok";
}
本文参考spring-boot-starter-actuator中的日志相关接口实现功能。
LogFileWebEndpoint,实现服务器端日志浏览LoggersEndpoint,实现日志的级别查询以及动态设置
另推荐另一篇功能更强大的 不用安装Xshell、Xftp,即可远程操作服务器,看看黑科技Spring Boot 实现在线Web SSH
加群一起抱团取暖,共同进步
🍎QQ群【837324215】
🍎关注我的公众号【Java大厂面试官】,一起学习呗🍎🍎🍎