SpringBoot整合Logback日志框架+Slf4j注解使用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: SpringBoot整合Logback日志框架+Slf4j注解使用

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类,内容如下:

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

  1. 在pom文件中添加依赖,引入lombok
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>


  1. 类添加注解
// 通过注解 @Slf4j 的方式
@Slf4j
public class HelloController {
}

- 启动主程序,打开浏览器或者Postman发起请求: http://localhost:8080/hello/bamaw,可以看到页面返回 hello bamaw

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
56 0
|
2月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
89 5
|
8天前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
131 73
|
3天前
|
Java Spring 容器
【SpringFramework】Spring IoC-基于注解的实现
本文主要记录基于Spring注解实现IoC容器和DI相关知识。
34 21
|
8天前
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
|
8天前
|
Java Spring
【Spring配置】idea编码格式导致注解汉字无法保存
问题一:对于同一个项目,我们在使用idea的过程中,使用汉字注解完后,再打开该项目,汉字变成乱码问题二:本来a项目中,汉字注解调试好了,没有乱码了,但是创建出来的新的项目,写的注解又成乱码了。
|
2月前
|
前端开发 Java Spring
Spring MVC核心:深入理解@RequestMapping注解
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的核心,它将HTTP请求映射到控制器的处理方法上。本文将深入探讨`@RequestMapping`注解的各个方面,包括其注解的使用方法、如何与Spring MVC的其他组件协同工作,以及在实际开发中的应用案例。
47 4
|
2月前
|
XML JSON Java
SpringBoot必须掌握的常用注解!
SpringBoot必须掌握的常用注解!
76 4
SpringBoot必须掌握的常用注解!
|
2月前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
131 2
|
2月前
|
前端开发 Java Spring
探索Spring MVC:@Controller注解的全面解析
在Spring MVC框架中,`@Controller`注解是构建Web应用程序的基石之一。它不仅简化了控制器的定义,还提供了一种优雅的方式来处理HTTP请求。本文将全面解析`@Controller`注解,包括其定义、用法、以及在Spring MVC中的作用。
57 2