springboot日志管理

本文详细介绍SpringBoot中日志的使用与配置方法,包括日志格式、级别设定、文件输出配置及自定义配置等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章:https://blog.youkuaiyun.com/codejas/article/details/82144667
(超级详细,建议看这篇)https://blog.youkuaiyun.com/Inke88/article/details/75007649

日志的框架有很多,springboot默认是使用Logback,当然你只需要添加依赖,你可以使用其他的日志框架,eg:Java Util Logging,Log4J2 和 Logback

1. 首先是日志格式:
springboot的默认日志输出如下:

在这里插入图片描述

  • 日期时间:精确到毫秒
  • 日志级别:ERROR, WARN, INFO, DEBUG or TRACE
  • 进程 id
  • 分割符:用于区分实际的日志记录
  • 线程名:括在方括号中
  • 日志名字:通常是源类名
  • 日志信息

2. logging的级别:

  • 日志从低到高的级别:TRACE < DEBUG < INFO < WARN < ERROR < FATAL。

  • Logback 日志不提供 FATAL 级别,它被映射到 ERROR 级别。

  • 注意点:Spring Boot 只会输出比当前级别高的日志,默认的日志级别是 INFO,因此低于 INFO 级别的日志记录都不输出。

  1. 可以在 application.properties 配置文件中通过 logging.level.= 方式设置日志的级别。
    eg:
logging.level.com.dudu=DEBUG:com.dudu包下所有class以DEBUG级别输出
logging.level.root=WARN:root日志以WARN级别输出
  1. 在运行命令后加入–debug标志,如:$ java -jar springTest.jar --debug
  2. 在application.properties中配置debug=true,该属性置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你自己应用的日志并不会输出为DEBUG级别。

3. 日志写入到文件
在 application.properties 中设置 logging.file 或 logging.path 属性。

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

注意点:

  1. 如果只配置 logging.file,会在项目的当前路径下生成一个 xxx.log 日志文件。
  2. 如果只配置 logging.path,在 /var/log文件夹生成一个日志文件为 spring.log
  3. 二者不能同时使用,如若同时使用,则只有logging.file生效
    默认情况下,日志文件的大小达到10MB时会切分一次,产生新的日志文件,默认级别为:ERROR、WARN、INFO

还有一些通用的配置,大家可以参考一下

# 启用日志颜色
spring.output.ansi.enabled=always
logging.level.root=INFO
# mapper 接口所在的包设置为 debug
logging.level.com.×××.mapper=DEBUG
# 在当前项目下生成日志文件
logging.file=./logs/×××.log
logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %clr(%logger){cyan} %clr(%msg%n){green}
logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n

4. 自定义日志配置
根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:

  • Logback:logback-spring.xml, logback-spring.groovy, logback.xml,logback.groovy
  • Log4j:log4j-spring.properties, log4j-spring.xml,log4j.properties, log4j.xml
  • Log4j2:log4j2-spring.xml, log4j2.xml
  • JDK(Java Util Logging):logging.properties

Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项(下面会提到)。
默认的命名规则,并且放在 src/main/resources 下面即可

如果你即想完全掌控日志配置,但又不想用logback.xml作为Logback配置的名字,application.yml可以通过logging.config属性指定自定义的名字:

logging.config=classpath:logging-config.xml
1
虽然一般并不需要改变配置文件的名字,但是如果你想针对不同运行时Profile使用不同的日志配置,这个功能会很有用。
一般不需要这个属性,而是直接在logback-spring.xml中使用springProfile配置,不需要logging.config指定不同环境使用不同配置文件。springProfile配置在下面介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值