spring boot内部使用Commons Logging来记录日志,但也保留外部接口可以让一些日志框架来进行实现,例如log4j还有Logback。下面我看下springboot 默认日志提供的一下配置日志管理。
1.spring boot从控制台打印出来的日志级别只有ERROR, WARN 还有INFO,如果你想要打印debug级别的日志,可以通过application.properites配置
debug=true
2.在生产环境环境下,你可以通过命令行进行配置日志的debug级别
java -jar C:\Users\Administrator\Desktop\xx\demo.jar --debug
3.配置logging.level.*来具体输出哪些包的日志级别
logging.level.root=INFO
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
4.将日志输出到文件中,默认情况下spring boot是不将日志输出到日志文件中,但你可以通过在application.properites文件中配置logging.file文件名称和logging.path文件路径,将日志输出到文件中
logging.path=F:\\demo
logging.file=demo.log
logging.level.root=info
这里需要注意几点:
- 这里若不配置具体的包的日志级别,日志文件信息将为空
- 若只配置logging.path,那么将会在F:\demo文件夹生成一个日志文件为spring.log
- 若只配置logging.file,那将会在项目的当前路径下生成一个demo.log日志文件
- logging.path和logging.file同时配置,不会有在这个路径有F:\demo\demo.log日志生成,logging.path和logging.file不会进行叠加
- logging.path和logging.file的value都可以是相对路径或者绝对路径
- 可以单独配成这样logging.file=F:\\demo\\demo.log
一.使用log4j日志管理
1.在pom.xml中添加(去掉logging自带的日志依赖)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
并添加log4j依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
<version>1.2.8.RELEASE</version>
</dependency>
2.然后在src/main/resources添加文件log4j.properties,具体属性可参照log4j相关配置.
程序中可以如下图使用就可以了。
二.使用logback日志管理
1.在pom.xml在
上面log4j的注释去掉即可。
2.在src/main/resources添加文件logback-spring.properties,这个名字不要改,具体属性可参照logback相关配置.
3.在application.properites添加logging.config=classpath:logback-spring.xml
4.在程序中使用如下图: