Spring Boot的日志之旅(一)

Logback

1.控制台输出

在 Spring Boot默认应用日志配置中,会将日志默认输出到控制台中,在默认情况下,只会记 录 ERROR-level. WARN-Ievel和 INFO-level级别的日志消息。当然,也可以指定日志级别进行日 志输出,如果指定了日志级别,那么只会对应输出高于指定级别的日志信息。

当然, Spring Boot 默认为我们提供了调试模式(建议在开发过程中开启),启动调试模式有如下两种方式

①启动JAR模式:在启动JAR的时候通过使用- debug标志启动应用程序调试模式,如代码所示:java -jar myapp. jar --debug ·

②在配置文件中的配置:在 application.properties或者 application. ym中配置属性 debug=true

2.日志输出

默认情况下, Spring Boot只会将日志消息打印到控制台,并不会将日志写入日志文件,但是 在实际项目中,一定会需要日志文件来分析程序。

其实在 Spring Boot工程中,想要输出控制台之 外的日志文件很简单,只需要在 application. properties文件或 application. yml文件内设置 logging file 或 logging path属性即可:

· logging file:设置日志文件,这里可以设置文件的绝对路径,也可以设置文件的相对路径, 具体可以根据情况设置,如 logging.file=test.log

· logging path:设置日志目录,在设置好目录后,会在设置目录文件夹下创建一个 spring.log 如设置 logging.path= Users/dalaoyang

上述两个属性中,如果只设置一个,那么 Spring Boot应用会默认读取该配置;如果同时设置, 那么只有 logging.file会生效。

Spring Boot应用日志文件输出与控制台输入内容一致,在日志文件达到10MB的时候会自动 分隔日志文件,默认情况下会记录 ERRORlevel、 WARN-level和 INFO-level消息,当然,日志文 件可以通过设置 logging.file..max-size属性更改大小限制,并非无法更改

3.日志级别

所有受支持的日志记录系统都可以通过使用 TRACE、 DEBUG、NFO、wARN、 ERROR、 FATAL 或OFF之一来在 Spring中设置记录器级别,

有下面几种设置格式:

·logging.level.root=WARN:root日志以WARN级别输出消息

· logging.level.com.dalaovang=DEBUG: com. dalaoyang包下的类以 DEBUG级别输出

另外,也可以设置日志组来批量设置日志级别,比如设定 com. dalaoyang controller和 com. dalaoyang service为同一组(包与包之间用英文格式的逗号分隔),如代码设置:logging.group. dalaoyang =com. dalaoyang. controller, com. dalaoyang.service 然后,设置 dalaoyang组日志级别为 TRACE,如代码:

logging .level. dalaoyang=TRACE

Spring Boot默认提供两个日志组,如代码所示

logging.group.web =org. springframework.core.codec,org.springframework.http,org.springframework.web

logging.group.sql=org. springframework.jdbc.core, org. hibernate. SQL

4.日志配置

除了上面介绍的配置属性外,其实还有很多属性供我们使用,例如:

· logging.exception-conversion-word:记录异常时使用的转换字

· logging.file::设置日志文件

· logging.file. max-size:最大日志文件大小

·logging. config:目志配置

·loggin. file. max-history:最大归档文件数量

·logging.path:日志文件目录

· logging.patten. console:在控制台输出的日志模式

· logging. patten. dateformat:日志格式内的日期格式

·logging.patten. file:默认使用目志模式。

·logging.pattem. level:日志级别

·PID:当前进程PID

5.基于XML配置日志

Spring Boot默认支持通过XML配置自定义日志格式及输出,并且在 ApplicationContext创建 前就已经进行了初始化。在 Spring Boot默认使用的 Logback中,可以通过在 src/mian/resources文 件夹下定义 logback.xm或 logback-springxm作为日志配置。 不过 Spring Boot官方推荐优先使用带有- -sring的文件名作为你的日志配置(如使用 logback-spring.xm,而不是 logback.xml),因为如果命名为 logback- spring.xm日志配置,就可以 在日志输出的时候引入一些 Spring Boot特有的配置项。当然,也支持自定义日志配置,比如在 application.properties或 application.yml中配置 logging.config=classpath: logback- config.xml,就会读 取 logback-config. xml配置对日志进行输出

日志以后再说。

posted @ 2020-03-05 03:12  马中赤兔  阅读(206)  评论(0编辑  收藏  举报