重学SpringBoot3-日志Logging
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@Component
public class LoggingCommandLineRunner implements CommandLineRunner {
private static final Logger logger = LoggerFactory.getLogger(LoggingCommandLineRunner.class);
@Override
public void run(String... args) {
if (logger.isDebugEnabled()) {
logger.debug("Debug message. Args: {}", (Object) args);
}
logger.info("Info message. Args: {}", (Object) args);
logger.warn("Warn message. Args: {}", (Object) args);
// 假设有一个方法用于检查参数是否包含某个关键字
if (containsKeyword(args, "error")) {
logger.error("Error message. Args: {}", (Object) args);
}
}
private boolean containsKeyword(String[] args, String keyword) {
// 这里是一个简化的检查逻辑,实际应用中需要更复杂的逻辑
return Arrays.stream(args).anyMatch(arg -> arg.contains(keyword));
}
}
这段代码演示了如何在Spring Boot应用程序中使用CommandLineRunner
接口来执行启动时的操作。它还展示了如何使用Logger
来记录不同级别的日志,并且使用isDebugEnabled
来优化日志输出,避免不必要的字符串格式化计算。
评论已关闭