日志有日志门面和日志实现。
日志门面包含:jcl和slf4j、jboss-logging
日志实现包含:log4j/logback/log4j2/java.util.logging(jul)
spring默认使用jcl :java common logging
springboot 默认使用logback和slf4j
hibernate默认使用jboss-logging
springboot-starter依赖会自动引用springboot-starter-logging
springboot-starter-logging是专门用于处理日志的,它会自动引入:log4j/jul/logback/jcl/slf4j 相关jar
jcl-over-slf4j、log4j-over-slf4j 是中间包,springboot统一使用slf4j
springboot引入其他框架时,需要依赖排除掉自身的日志依赖。例如:spring排除掉common-logging依赖。
切换其它日志框架的选择:
spring-boot-starter-log4j2
spring-boot-starter-logging
application.properties修改springboot的默认配置:
logging.level
logging.path (不指定,会在当前项目下生成springboot.log)
logging.file=G:\springboot.log
logging.path=/spring/log (本地创建spring和log文件夹,如果没有指定logging.file会在log目录下生成spring.log)
logging.pattern.console 控制台输出格式
logging.pattern.file 文件输出格式
| Logging System | Customization |
|---|---|
|
Logback |
|
|
Log4j2 |
|
|
JDK (Java Util Logging) |
|