1.日志管理
1.1 spring boot默认的日志系统
(1)Spring Boot默认使用LogBack日志系统,LogBack默认将日志打印到控制台上。依赖的包两种:
- 添加dependency依赖的
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
- Spring Boot项目一般都会引用spring-boot-starter或者spring-boot-starter-web
两个起步依赖中都已经包含了对于spring-boot-starter-logging的依赖,所以,无需额外添加依赖。
(2)默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。
Spring Boot 中默认配置 ERROR 、 WARN 和 INFO 级别的日志输出到控制台。接来要做如下工作:
- 日志信息存储到文件
需要在 application.properties 中设置 logging.file 或 logging.path 属性,说明如下:
logging.file ,设置文件,可以是绝对路径,也可以是相对路径。如: logging.file=my.log
logging.path ,设置目录,会在该目录下创建 spring.log 文件,并写入日志内容,如: logging.path=/var/log
默认情况下,日志文件的大小达到 10MB 时会切分一次,产生新的日志文件。 - 自定日期格式
%d{HH:mm:ss.SSS}——日志输出时间
%thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用
%-5level——日志级别,并且使用5个字符靠左对齐
%logger- ——日志输出者的名字
%msg——日志消息
%n——平台的换行符
默认情况下,日志文件的大小达到 10MB 时会切分一次,产生新的日志文件
//application.properties或application.yml配置中配置
//该属性用来配置日志文件的路径,可以是绝对路径,也可以是相对路径
logging.path=/Users/jackie/workspace/rome/
//该属性用来配置日志文件名,如果该属性不配置,默认文件名为spring.log
logging.file=springbootdemo.log
//如何设置日志级别,root:即项目的所有日志
logging.level.root=warn
//将指定包下的日志级别设置为WARN
logging.level.com.jackie.springbootdemo.config=WARN
//定制自己的日志格式
logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n
1.2 用log4j记录日志
Spring Boot虽然默认使用Logback日志框架,但其内部也集成了Log4j2框架。要知道的是,在Java中,Log4j2框架的性能是最强的,所以我们一般在程序中使用Log4j2框架。pom配置文件需要去除Logback的jar包,并引入Log4j2的jar。
<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
网友评论