springboot日志
springboot日志采用了门面模式,,也称为外观模式,,,springboot中使用SLF4J
作为日志门面,,Logback
作为日志默认实现
- SLF4J: simple logging facade for java : 日志的门面,提供统一的api,,,,就跟统一数据库orm那些框架一样,,不管各个框架怎么变,,都会去基于这个统一的api实现,在springboot中,使用这个统一的api来调用
- Logback : springboot 默认使用的日志实现库
开发者只需要调用SLF4J
的API,不用关心底层是哪种实现
门面模式
为子系统的一组接口提供一致的界面,,,,Facade模式定义了一个高层接口,,这个接口使得子系统更加容易使用,,,
日志级别
TRACE < DEBUG < INFO < WARN < ERROR
springboot配置日志
- 直接写需要哪个包下面的代码打日志
#logging.level.org.springframework.web=DEBUG
#logging.level.com.cj.springboot01.mapper=DEBUG
- 日志中提供了几个默认的组名字,,
- root代表打印所有日志
- web 代表打印某几个系统指定的跟web相关的日志
- sql 代表打印某几个系统指定的跟sql相关的日志
- 也可以自己指定组
# root是打印所有的日志
logging.level.root=DEBUG
# web别名,,跟web相关的日志 ==》 指定包的日志
logging.level.web=DEBUG# sql别名,,跟sql相关的日志 ===》 指定包的日志
logging.level.sql=DEBUG# 日志分组 ===>自己指定了一个tomcat组, 这个tomcat组包含了哪些包 ,,,上面的 web,sql就是一个分组
logging.group.tomcat = xxxx,yyyy,zzzz
- 配置日志的名字和路径
# 将日志写入文件中,,默认在项目的目录下,,
logging.file.name=hehe.log# 可以给定一个绝对路径存放日志文件
#logging.file.path=/user/xxx
- 日志超过指定的大小之后,自动分片
# 日志自动分片
logging.logback.rollingpolicy.max-file-size=2MB
# waterkid-2025-05-25.0.log
logging.logback.rollingpolicy.file-name-pattern=waterkid-%d{yyyy-MM-dd}.%i.log
#logging.logback.rollingpolicy.clean-history-on-start=true