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 的方式 public class HelloController { /** * 两种方式使用logback * 1.通过创建LoggerFactory实例 * 2.通过注解 @Slf4j 的方式 * */ /** * 通过创建LoggerFactory实例 */ //private final static Logger LOGGER = LoggerFactory.getLogger(HelloController.class); "/say/{name}") ( public String sayHello( ("name") String name) { //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