spring-boot 默认日志位置

IT小君   2021-12-04T01:08:31

spring-boot应用程序中,我可以指定一个自定义日志文件

java -jar spring-boot-app.jar --logging.file=/home/ubuntu/spring-boot-app.log

但如果我不指定一个,它会去哪里?

我在以下任何文件夹中都找不到它:

/tmp/
/var/log/
~/

具备spring-boot-starter-logging或任何其他日志记录的依赖。

我希望有类似的东西,catalina.out因为默认配置运行嵌入式 Tomcat:

INFO 10374 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8100 (http)
评论(3)
IT小君

Spring Boot 将 Commons Logging 用于所有内部日志记录,但保持底层日志实现开放。

为 Java Util Logging、Log4J、Log4J2 和 Logback 提供了默认配置。在每种情况下,记录器都预先配置为使用控制台输出,也可以使用可选的文件输出。

来自Spring Boot 日志记录文档

默认日志配置将在写入消息时将消息回显到控制台。因此,除非您按照描述明确指定文件,否则它会保留在控制台中。

2021-12-04T01:08:33   回复
IT小君

默认情况下,Spring Boot 不会将日志输出到任何文件。如果您想将日志写入文件(除了控制台输出),那么您应该使用logging.filelogging.path属性之一(不是两者)。

在 application.properties 中,只需设置:

logging.file=/home/ubuntu/spring-boot-app.log

这将spring-boot-app.log/home/ubuntu.

2021-12-04T01:08:36   回复
IT小君

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

以下代码application.properties将写入日志/home/user/my.log

logging.path = /home/user
logging.file = my.log
2021-12-04T01:08:37   回复