Spring Boot 日志系统配置(上)

目录

LogBack(默认日志)

添加日志依赖

控制台日志输出

日志文件输出

设置日志级别


LogBack(默认日志)

默认的情况下,SpringBoot会用LogBack来记录日志,并用INFO级别输出到控制台。

添加日志依赖

以maven依赖为例,添加spring-boot-starter-logging

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
</dependency>

控制台日志输出

TRACE < DEBUG < INFO < WARN < ERROR < FATAL

如果设置日志级别为WARN,则低于WARN的信息都不会在控制台输出。

Spring Boot中默认配置ERROR、WARN 和INFO级别的日志输出到控制台。

我们还可以通过启动应用程序 --debug标志来启用“调用”模式(推荐开发的时候开启),有以下两种方式

  • 在运行命令行后加入 --debug标志,如: $ java -jar springTest.jar --debug
  • 在application.properties中配置debug=true,该属性设置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你自己应用的日志并不会输出为DEBUG级别。

日志文件输出

默认情况下,Spring Boot会输出日志到控制台,但不会写到日志文件。

使用Spring Boot 喜欢在application.properties或application.yml配置,这样只能配置简单的场景,保存路径、日志格式等,复杂的场景(区分info和error的日志、每天生成一个日志文件等)满足不了,这种情况下就需要自定义配置。

logging:
  pattern:
    console: "%d - %msg%n" // 格式化,输出日期和内容
  path: /var/log/tomcat/  // 日志输出路径,默认会生成一个spring.log文件
  file: /var/log/tomcat/sell  

如果要编写除控制台输出之外的日志文件,则需要再application.properties中设置logging.file或logging.path属性。

  • logging.file,设置文件,可以是绝对路径,也可以是相对路径。如:logging.file = my.log
  • logging.path,设置目录,会在该目录下创建spring.log文件,并写入日志内容,如:logging.path = /var/log

如果只配置logging.file,会在项目的当前路径下生成一个xxx.log日志文件。

如果只配置logging.path,在/var/log文件夹生成一个日志文件为spring.log

注:二者不能同时使用,如若同时使用,则只有logging.file配置生效
默认情况下,日志文件的大小达到10MB时会切分一次,产生新的日志文件,默认级别为:ERROR、WARN、INFO

设置日志级别

所有支持的日志记录系统都可以在Spring环境中设置记录级别(例如在application.yml中)

logging:
  level:
    *: LEVEL

logging.level:日志级别控制前缀,* 为包名或Logger名

LEVEL: 选项TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

示例:

logging:
  level:
    com.dudu: DEBUG      //com.dudu包下所有class以DEBUG级别输出

logging:
  level:
    root: WARN         //root日志以WARN级别输出
logging:
  pattern:
    console: "%d - %msg%n"
# path: /var/log/tomcat/
  file: /var/log/tomcat/sell.log
  level:
    com.imooc.LoggerTest: debug       //指定报名类型日志级别

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值