Spring Boot 2.X 实战教程(13)日志
13.日志
Spring Boot使用Commons Logging进行所有内部日志记录,但保留底层日志实现。Spring Boot为Java Util Logging,Log4J2和 Logback提供了默认配置 。在每种情况下,记录器都预先配置为使用控制台输出,同时还提供可选的文件输出。
默认情况下,如果使用“Starters”,则使用Logback进行日志记录。
13.1日志格式
Spring Boot的默认日志输出类似于以下示例:
2014-03-05 10:57:51.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/7.0.52
2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1358 ms
2014-03-05 10:57:51.698 INFO 45469 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
输出以下项目:
l 日期和时间:毫秒精度,易于排序。
l 日志级别:ERROR,WARN,INFO,DEBUG,或TRACE。
l 进程ID。
l 一个---分离器来区分实际日志消息的开始。
l 线程名称:用方括号括起来(可能会截断控制台输出)。
l 记录器名称:这通常是源类名称(通常缩写)。
l 日志消息。
13.2控制台输出
默认日志配置会在写入时将消息回显到控制台。默认情况下,会记录ERROR-level,WARN-level和INFO-level消息。您还可以通过使用--debug标志启动应用程序来启用“调试”模式。
$ java -jar target/demo-0.0.1-SNAPSHOT.jar --debug
13.3文件输出
默认情况下,Spring Boot仅记录到控制台,不会写入日志文件。如果除了控制台输出之外还要编写日志文件,则需要设置 logging.file或logging.path属性(例如,在您的中 application.properties)。
13.4日志级别
所有支持的日志系统可以在弹簧设置的记录器级别 Environment(例如,application.properties通过使用) logging.level.<logger-name>=<level>,其中level为TRACE,DEBUG,INFO,WARN,ERROR,FATAL或OFF之一。该root记录器可以通过使用被配置logging.level.root。
以下示例显示了潜在的日志记录设置application.properties:
logging.level.root = WARN
logging.level.org.springframework.web = DEBUG
logging.level.org.hibernate = ERROR
如有疑问,请观看视频:https://ke.qq.com/course/428845