日志

Spring Boot默认使用的日志框架是slf4j和logback,其中slf4是提供了一个统一的实现接口,logback则是实际的实现。另外,Spring Boot也是支持其他的日志框的。
而Spring Boot中有许多其他的模块使用的是其他的日志框架,对此slf4j提出了解决方案,那就是在原本的基础上面再加上一层,做一个适配,这样就可以了。
同样,尽管在应用的时候是使用的slf4j,也可以添加一个适配层从而使用其他的日志框架,包括log4j、jul等。
具体的可以去看slf4j的官方文档:传送门,这个对上面的各种情况都有详细的说明,想要切换Spring Boot使用的日志模块,参考其官方文档切换依赖就可以了。

配置

在这一块同样有官方的文档:传送门,基本上列表到了常见的各种操作,然后我这里就只写几种常用的:

1、调整日志输出级别

这个开头是logging.level后面跟包名,指定该包下面所有类的日志输出级别

# 调整日志的输出级别
logging.level.*=trace
logging.level.com.example.demo.config=info

2、设置日志的输出格式

输出到控制台的日志可以自定义颜色

# 指定输出到控制台的日志的格式
logging.pattern.console=
# 指定输出到文件的日志的格式
logging.pattern.file=
# 指定时间的输出格式
logging.pattern.dateformat=

3、设置输出到文件位置

如果都设置的情况下,logging.file.name的优先级更高一点,都可以带着路径和名字,如果只设置了文件的路径,那日志文件的名字默认会是spring.log。

另外就是,默认情况下,一个日志文件最大为10M,如果超过了那就会自动分割。

# 设置输出的日志文件的名字
logging.file.name= 
# 设置输出的日志文件的路径
logging.file.path=
# 设置日志文件的最大大小
logging.file.max-size=

4、自定义配置

Spring Boot支持我们以使用的日志的配置文件的形式进行额外的配置,直接放在当前项目的resource文件夹下面就行了,文件的名字和日志框架的原本配置的一样就行,其他的可以参考前面的官方文档。

使用

如下是一个小例子,在访问主页的时候就会有日志输出,需要注意的是,Logger类是来自slf4j的包下面,不同的框架使用了好几个不同的日志框架,一不小心就容易搞混。

@Controller
public class UserController {
    Logger logger = LoggerFactory.getLogger("UserController");

    @ResponseBody
    @RequestMapping({"/", "/index"})
    public String index() {
        logger.info("to index");
        return "Hello word";
    }
}

另外就是,logger有很多的方法,想要输出不同级别的日志直接使用对应名称的方法就可以了。

另外就是,日志的输出支持使用占位符:

logger.info("primaryDataSource initialization primaryDataSourceType: {}.", primaryDataSourceType.toString());

使用{}当做占位符,然后按顺序进行替换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值