1.基本介绍
SpringBoot默认日志框架是Logback,是对log4j升级出现的另一个开源日志组件,内核进行了重写,整体性能上比log4j突出不少。
2.使用说明
2.1 引入maven依赖
为什么我们要引入这些jar包?一个良好的项目需要正常启动
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependencOC<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>
解释说明
SpringBoot中初始创建项目,引入原骨架Parent
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.5.RELEASE</version><relativePath/><!-- lookup parent from repository --></parent>
在项目工程中,command+点击 `spring-boot-starter-parent` 会进入 `spring-boot-starter-parent-2.1.5.RELEASE.pom` 文件中
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.1.5.RELEASE</version><relativePath>../../spring-boot-dependencies</relativePath></parent>
command+点击 `2.1.5.RELEASE` 进入到各种包的依赖,并且规定了版本号,搜索一下,可以看到他们集成的logback包
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-access</artifactId><version>${logback.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>${logback.version}</version></dependency>
2.2 创建logback-spring.xml
在resources目录下 application.yml/applitions.properties配置,由于我在resources目录下,创建config文件夹,将logback-spring.xml放在此文件夹下,所以路径有所变化。
# 日志配置 logging: config: classpath:config/logback/logback-spring.xml
Springboot本身内置的日志功能,日志的使用方式跟我们平常使用的日志一样,但是此配置不仅可以在控制台输出,还能输出到磁盘,依据定义的策略,可以按天、大小、类型区分开来。
3.编写一个HTTP接口
- 创建package命名为com.daobili.comtroller(根据实际情况修改)
- 创建HelloController类,内容如下:
"/hello") (// 通过注解 @Slf4j 的方式publicclassHelloController { /*** 两种方式使用logback* 1.通过创建LoggerFactory实例* 2.通过注解 @Slf4j 的方式**//*** 通过创建LoggerFactory实例*///private final static Logger LOGGER = LoggerFactory.getLogger(HelloController.class);"/say/{name}") (publicStringsayHello( ("name") Stringname) { //LOGGER.info("hello,{}",name);log.info("使用注解的方式日志服务:sayHello:{}"+name); return"hello "+name; } }
3.1 通过创建LoggerFactory实例
/*** 通过创建LoggerFactory实例*///private final static Logger LOGGER = LoggerFactory.getLogger(HelloController.class);
3.2 通过注解 @Slf4j 的方式
- 在pom文件中添加依赖,引入lombok
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>
- 类添加注解
// 通过注解 @Slf4j 的方式 @Slf4j public class HelloController { }
- 启动主程序,打开浏览器或者Postman发起请求: http://localhost:8080/hello/bamaw,可以看到页面返回 hello bamaw