Spring Boot笔记 #05# 核心特性之Logging

译自:https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging

4. Logging

Spring Boot对所有的内部日志使用Commons Logging(Commons Logging),但是底层的日志实现是开放的。提供了 Java Util LoggingLog4J2Logback的默认配置。在每种情况下,记录器(loggers)都被预先配置为使用控制台输出,可选的文件输出也可用。

默认情况下,如果使用“启动器(Starters)”,则使用Logback进行日志记录。还包括了适当的Logback路由( Appropriate Logback routing),以确保使用Java Util Logging、Commons Logging、Log4J或SLF4J的依赖库都能正常工作。

(Java有很多可用的日志记录框架。如果上面的列表看起来很混乱,不要担心。通常情况下,您不需要更改日志依赖项,Spring Boot默认值就可以正常工作)

(当您将应用程序部署到servlet容器(a servlet container)或应用服务器时,使用Java Util logging API执行的日志记录不会路由到你的应用程序的日志(your application’s logs)中。这将防止容器(container)或部署到容器上的其他应用程序执行的日志记录出现在你的应用程序的日志中)

4.2. Console Output

默认的日志配置在消息被写入时将消息回显(echoes)到控制台。缺省情况下,日志级别为ERROR、WARN和INFO。您还可以通过使用--debug标志启动应用程序来启用“调试”模式。

$ java -jar myapp.jar --debug

(你也可以在你的application.properties中指定debug=true)

当启用调试模式时,将选择核心日志记录器(embedded container、Hibernate和Spring Boot)配置为输出更多信息。启用debug模式不会配置你的应用程序去记录DEBUG级别的所有信息。

或者,你可以通过使用--trace标志或者在application.properties中使用trace=true)启动你的应用程序来启用“trace”模式。这样做可以对选定的核心日志记录器(embedded container, Hibernate schema generation, and the whole Spring portfolio)进行跟踪日志记录。

4.3. File Output

默认情况下,Spring Boot只将日志记录到控制台,不写入日志文件。如果要在控制台输出之外写入日志文件,则需要设置logging.file.namelogging.file.path属性(例如,在application.properties中)。

下表显示了logging.* 属性如何一起使用:详见文档

 

posted @ 2022-03-07 21:16  xkfx  阅读(108)  评论(0编辑  收藏  举报