showuon commented on a change in pull request #7898: URL: https://github.com/apache/kafka/pull/7898#discussion_r815384279
########## File path: connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/resources/LoggingResource.java ########## @@ -60,67 +66,60 @@ @GET @Path("/") public Response listLoggers() { - Map<String, Map<String, String>> loggers = new TreeMap<>(); - Enumeration<Logger> enumeration = currentLoggers(); - Collections.list(enumeration) - .stream() - .filter(logger -> logger.getLevel() != null) - .forEach(logger -> loggers.put(logger.getName(), levelToMap(logger))); + // current loggers + final Map<String, Map<String, String>> loggers = currentLoggers() + .stream() + .filter(logger -> logger.getLevel() != Level.OFF) + .collect(Collectors.toMap(logger -> logger.getName(), logger -> levelToMap(logger))); + // Replace "" logger to "root" logger Logger root = rootLogger(); - if (root.getLevel() != null) { + if (root.getLevel() != Level.OFF) { loggers.put(ROOT_LOGGER_NAME, levelToMap(root)); } - return Response.ok(loggers).build(); + return Response.ok(new TreeMap<>(loggers)).build(); } /** * Get the log level of a named logger. * - * @param namedLogger name of a logger + * @param loggerName name of a logger * @return level of the logger, effective level if the level was not explicitly set. */ @GET @Path("/{logger}") - public Response getLogger(final @PathParam("logger") String namedLogger) { - Objects.requireNonNull(namedLogger, "require non-null name"); + public Response getLogger(final @PathParam("logger") String loggerName) { + Objects.requireNonNull(loggerName, "require non-null name"); - Logger logger = null; - if (ROOT_LOGGER_NAME.equalsIgnoreCase(namedLogger)) { + final Logger logger; + if (ROOT_LOGGER_NAME.equalsIgnoreCase(loggerName)) { logger = rootLogger(); } else { - Enumeration<Logger> en = currentLoggers(); - // search within existing loggers for the given name. - // using LogManger.getLogger() will create a logger if it doesn't exist - // (potential leak since these don't get cleaned up). - while (en.hasMoreElements()) { - Logger l = en.nextElement(); - if (namedLogger.equals(l.getName())) { - logger = l; - break; - } - } + List<Logger> en = currentLoggers(); + Optional<Logger> found = en.stream().filter(existingLogger -> loggerName.equals(existingLogger.getName())).findAny(); + + logger = found.orElse(null); } + if (logger == null) { - throw new NotFoundException("Logger " + namedLogger + " not found."); + throw new NotFoundException("Logger " + loggerName + " not found."); Review comment: nit: can be simplified to: ```java logger = found.orElseThrow(() -> new NotFoundException("Logger " + loggerName + " not found."));` return Response.ok(effectiveLevelToMap(logger)).build(); ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org