本文作者:SpringBoot_ZYL
意见反馈:15065421873@163.com
文章来源:https://blog.csdn.net/gozhuyinglong <https://blog.csdn.net/gozhuyinglong>
版权声明:本文版权归作者所有,转载请注明出处

一、SpringBoot日志简介

SpringBoot使用Commons Logging进行所有内部日志记录,但底层日志实现保持开放状态。为Java Util
Logging,Log4j2和Logback提供了默认配置。

SpringBoot能自动适配所有的日志,本次讲解slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉;

SpringBoot默认帮我们配置好了日志,我们直接即可。

下图是SpringBoot日志的依赖关系:


二、SpringBoot使用slf4j日志

1.创建一个SpringBoot应用

只依赖Web即可

2.创建一个Controller类

下面代码详细书写了Logger的使用
package com.zyl.springboot.controller; import org.slf4j.Logger; import
org.slf4j.LoggerFactory;import
org.springframework.web.bind.annotation.GetMapping;import
org.springframework.web.bind.annotation.RequestMapping;import
org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/log") public class LoggingController { Logger logger =
LoggerFactory.getLogger(getClass());@GetMapping("/logging") public void logging
(){// 级别由低到高 trace<debug<info<warn<error logger.trace("这是一个trace日志...");
logger.debug("这是一个debug日志..."); // SpringBoot默认是info级别,只会输出info及以上级别的日志
logger.info("这是一个info日志..."); logger.warn("这是一个warn日志..."); logger.error(
"这是一个error日志..."); } }
3.测试输出:默认info级别

从输出结果可以看出,SpringBoot默认输出info级别


三、配置文件

创建一个application.yml配置文件

1.调整级别

我们知道SpringBoot默认是info级别,下面配置将可以为我们调整级别,并且可为不同目录指定不同的级别
# slf4j日志配置 logging: # 配置级别 level: #分包配置级别,即不同的目录下可以使用不同的级别 com.zyl.springboot
: trace
测试输出,可以发现已经调整至trace级别了


2.输出日志文件

默认情况SpringBoot日志只输出至控制台,不写入日志文件。

通过配置file参数可以指定日志输出的文件名,默认输出至当前项目目录下
# slf4j日志配置 logging: # 配置级别 level: #分包配置级别,即不同的目录下可以使用不同的级别 com.zyl.springboot
: trace# 指定输出日志的文件名,默认输出至当前项目目录下 file: springboot.log
测试结果可以看出,已经在当前项目目录下输出了日志文件


输出到指定磁盘目录,注意,在改变输出日志的位置时,将原日志文件删除

将file配置输入完成日志文件名及路径,即可指定目录了
# slf4j日志配置 logging: # 配置级别 level: #分包配置级别,即不同的目录下可以使用不同的级别 com.zyl.springboot
: trace# 在不指定路径,只指定输出日志的文件名,默认输出至当前项目下 # 若指定,则会输出至指定目录下 file: g:/springboot.log

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信