diff --git a/das/src/main/java/com/das/modules/admin/controller/LoggerController.java b/das/src/main/java/com/das/modules/admin/controller/LoggerController.java index cf41ce9a..415cb7d0 100644 --- a/das/src/main/java/com/das/modules/admin/controller/LoggerController.java +++ b/das/src/main/java/com/das/modules/admin/controller/LoggerController.java @@ -49,4 +49,29 @@ public class LoggerController { return R.fail(String.format("Invalid log level [%s]. Valid levels: TRACE, DEBUG, INFO, WARN, ERROR, FATAL.", level)); } } + + /** + * 删除指定日志配置 + * + * @param loggerName 日志名称 + * @return 删除结果 + */ + @PostMapping("/delete") + public R deleteLogLevel(String loggerName) { + try { + LoggerContext context = (LoggerContext) LogManager.getContext(false); + LoggerConfig loggerConfig = context.getConfiguration().getLoggerConfig(loggerName); + if (loggerConfig.getName().equals(loggerName)) { + context.getConfiguration().removeLogger(loggerName); + context.updateLoggers(); + logger.info("Deleted logger [{}]", loggerName); + return R.success(String.format("Logger [%s] configuration deleted, using parent level now.", loggerName)); + } else { + return R.fail(String.format("Logger [%s] does not have a specific configuration.", loggerName)); + } + } catch (Exception e) { + logger.error("Failed to delete logger [{}]", loggerName, e); + return R.fail(String.format("Failed to delete logger [%s]: %s", loggerName, e.getMessage())); + } + } } \ No newline at end of file