springboot工程运行时动态改变logj4j2日志级别

时间:2025-03-23 08:43:49
@ApiOperation("更新日志level") @GetMapping("/update-log") public JsonResult<String> updateLogLevel() { LoggerContext loggerContext = LoggerContext.getContext(false); LoggerConfig loggerConfig = loggerContext.getConfiguration().getRootLogger(); Level now = loggerConfig.getLevel(); // 600 -> 0 int init = now.getStandardLevel().intLevel(); int next = (init <= 0 ? 600 : init - 100); StandardLevel sl = StandardLevel.getStandardLevel(next); Level level = Level.toLevel(sl.name()); System.out.println("TRACE(600), DEBUG(500), INFO(400), WARN(300), ERROR(200), FATAL(100), OFF(0) => " + level); loggerConfig.setLevel(level); loggerContext.updateLoggers(); return JsonResult.success("系統当前日志级别:" + level.name()); }