文章目录
- 1. 依赖
- 2. 配置
- 3. 打印日志
- 4. 启动程序
- 5. 验证
- 6. 调整日志级别
- 7. 代码详细
- 总结
Spring 作为一个现代化的 Java 开发框架,提供了很多便利的功能,其中包括灵活而强大的日志记录。本文将介绍如何结合 Spring 和 Logback 配置和使用日志,并通过实际的例子演示日志的记录和输出。
1. 依赖
首先,在 pom.xml
中引入 Logback 的依赖
pom.xml
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.4.14</version></dependency>
2. 配置
在 src/main/resources
目录下创建 logback-spring.xml
文件,Spring 会自动识别并加载该配置文件
logback-spring.xml
<configuration><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><root level="INFO"><appender-ref ref="console"/></root>
</configuration>
上述配置定义了一个控制台输出的 Appender,使用了一种简单的日志格式,包含时间戳、线程信息、日志级别、 Logger 名称和日志消息。根 Logger 的日志级别被设置为 INFO
,这意味着只有 INFO
级别及以上的日志会被输出。
3. 打印日志
在 IndexController.java 类中,使用 private static final Logger logger = LoggerFactory.getLogger(IndexController.class);
来创建 logger 引用,并且分别打印了 4 种级别的日志(分别是 Debug,Info,Warn,Error)
package com.cheney.koala.controller;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping("index")
public class IndexController {private static final Logger logger = LoggerFactory.getLogger(IndexController.class);@GetMappingpublic String index(Model model) {logger.debug("【Debug】- Hello.");logger.info("【Info】- Hello.");logger.warn("【Warn】- Hello.");logger.error("【Error】- Hello.");model.addAttribute("msg", "Welcome to Koala System.");return "index";}
}
4. 启动程序
5. 验证
访问下面的请求 URL
http://localhost:8080/index
然后观看控制台的日志
可以看到控制台的输出,发现没有看到 debug
只能看到 info
、warn
和 error
。
6. 调整日志级别
此处使用在 properties 文件中使用参数配置调整日志输出级别
application.properties
将日志级别调整为 WARN,重启服务再次访问请求
可以看到控制台的输出,发现没有看到 debug
和 info
只能看到 warn
和 error
。
7. 代码详细
https://github.com/cheney09/spring-practical-combat/tree/main/15/koala
总结
通过结合 Spring 和 Logback,我们能够轻松配置和使用强大的日志记录功能。Logback 提供了丰富的配置选项和灵活的日志格式,而 Spring 则通过自动加载和集成简化了配置的过程。这样,我们可以更方便地记录和分析应用程序的运行状态,及时发现和解决问题。在实际开发中,充分利用 Spring 和 Logback 的优势将大大提高项目的可维护性和调试效率。