SpringBoot管理员和日志记录

时间:2016-11-21 14:26:01

标签: java spring logging spring-boot spring-boot-admin

我创建了一个SpringBoot管理服务器,客户端在其中注册。我希望能够在运行时更改日志记录级别' Logging' SpringBoot管理服务器中的选项卡。在其中一个客户端中,我的问题是为包中的所有记录器创建一个父记录器" ke.co.betatech"我会在运行时更改Logger.getLogger(" ke.co.betatech")的日志记录级别,并且后代的日志记录级别会发生变化。我不想使用根记录器来更改日志记录级别,因为它会更改已注册的所有记录器的日志记录级别。

package ke.co.betatech.controllers;

@RestController
@RequestMapping("/api/v1")
public class Controller2 implements IController {

  Logger LOG;

  public Controller2() {
     LOG = Logger.getLogger(this.getClass());
  }

  @GetMapping("/greeting")
  public String hello() {
    LOG.info("Hello");
    return "hello"
  }
}

在主要课程中,这就是我的尝试

@SpringBootApplication
public class LoggingLevelRuntimeApplication {

   public static void main(String[] args) {
      // I created the parent logger here
      Logger log = Logger.getLogger("ke.co.betatech");
      SpringApplication.run(LoggingLevelRuntimeApplication.class, args);
   }
}

问题是,记录器Logger.getLogger("ke.co.betatech")没有出现在Spring Boot Admin Server的记录器列表中。

2 个答案:

答案 0 :(得分:1)

如果单击日志页面上搜索输入旁边的符号,则可以显示包记录器。

enter image description here

答案 1 :(得分:0)

logging.level.ke.co.betatech=DEBUG文件中添加application.properties,您就可以使用记录器 在Logger log = Logger.getLogger("ke.co.betatech");完成后,任何类中的SpringApplication.run()一次。