需求
- 日志按天滚动分割
- info和error日志输出到不同文件
为什么使用Logback
在这里,我不去深究的讨论各个日志框架的优劣,网上的对比文章实在太多了。我只说以下几点理由。
- Logback是Log4j的升级版,作者为同一个人,作者不想再去改Log4j,所以写了Logbak
- 使用日志框架的最佳实践是选择一款日志门面+一款日志实现,这里选择Slf4j+Logback, Slf4j作者也是Logbak的作者
- SpringBoot从1.4版本开始,内置的日志框架就是Logback
Logback在SpringBoot中配置方式一
可以直接在applicatin.properties或者application.yml中配置
以在application.yml中配置为例
logging:
pattern:
console: "%d - %msg%n"
file: /var/log/tomcat/sell.log
level:
com.imooc.LoggerTest: debug
可以发现,这种配置方式简单,但能实现的功能也很局限,只能
- 定制输出格式
- 输出文件的路径
- 指定某个包下的日志级别
如果需要完成我们的需求,这就得用第二种配置了
Logback在SpringBoot中配置方式二
在resource目录下新建logback-spring.xml, 内容如下